描寫五一勞動節作文
1、刪除子串,只要是原串中有相同的子串就刪掉,不管有多少個,返回子串個數。

#include #include #include #include
int delete_sub_str(const char *str,const char *sub_str,char *result) { assert(str != NULL && sub_str != NULL); const char *p,*q; char *t,*temp; p = str; q = sub_str; t = result; int n,count = 0; n = strlen(q); temp = (char *)malloc(n+1); memset(temp,0x00,n+1); while(*p) { memcpy(temp,p,n); if(strcmp(temp,q) == 0 ) { count++; memset(temp,0x00,n+1); p = p + n; } else { *t = *p; p++; t++; memset(temp,0x00,n+1); } } free(temp); return count; }
void main() { char s[100] = {‘\0’}; int num =
delete_sub_str(“123abc12de234fg1hi34j123k”,”123”,s); printf(“The number of sub_str is %d\r\n”,num); printf(“The result string is %s\r\n”,s); }
2、約瑟夫環是一個數學的應用問題:已知n個人(以編號1,2,3...n分別表示)圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列;他的下一個人又從1開始報數,數到m的那個人又出列;依此規律重復下去,直到圓桌周圍的人全部出列。 #include #include typedef struct Node { int num; struct Node *next; }LinkList;
LinkList *creat(int n) { LinkList *p,*q,*head; int i=1; p=(LinkList *)malloc(sizeof(LinkList)); p->num=i; head=p;
for(i=2;i<=n;i++) {
q=(LinkList *)malloc(sizeof(LinkList)); q->num=i; p->next=q; p=q; }
p->next=head; /*使鏈表尾指向鏈表頭 形成循環鏈表*/
return head; }
void fun(LinkList *L,int m) { int i; LinkList *p,*s,*q; p=L; printf("出列順序為:"); while(p->next!=p) { for(i=1;inext; } printf("%5d",p->num); s=p; q->next=p->next; p=p->next; free(s); } printf("%5d\n",p->num); }
int main() { LinkList *L; int n, m; n=9; m=5; L=creat(n); fun(L,m); return 0; }
3、比較一個數組的元素 是否為回文數組 #include #include int huiwen(char str[]) { int i,len,k=1; len=strlen(str); for(i=0;i
void main() { char str[100] = {0}; printf("Input a string:"); /*提示輸入Input a string:*/
scanf("%s", str); /*scan()函數輸入一個字符串:*/ huiwen(str); } 4、 數組比較(20分) • 問題描述: 比較兩個數組,要求從數組最后一個元素開始逐個元素向前比較,如果2個數組長度不等,則只比較較短長度數組個數元素。請編程實現上述比較,并返回比較中發現的不相等元素的個數 比如: 數組{1,3,5}和數組{77,21,1,3,5}按題述要求比較,不相等元素個數為0 數組{1,3,5}和數組{77,21,1,3,5,7}按題述要求比較,不相等元素個數為3 • 要求實現函數: int array_compare(int len1, int array1[], int len2, int array2[]) 【輸入】 int len1:輸入被比較數組1的元素個數; int array1[]:輸入被比較數組1; int len2:輸入被比較數組2的元素個數; int array2[]:輸入被比較數組2; 【輸出】 無 【返回】 不相等元素的個數,類型為int • 示例 1) 輸入:int array1[] = {1,3,5},int len1 = 3,int array2[] = {77,21,1,3,5},int len2 = 5 函數返回:0 2) 輸入:int array1[] = {1,3,5},int len1 = 3,int array2[] = {77,21,1,3,5,7},int len2 = 6 函數返回:3 #include #include #include int array_compare(int len1, int array1[], int len2, int array2[]) { int count=0; for( ;len1>=0&&len2>=0 ;len1--,len2--) { if(array1[len1-1]==array2[len2-1]) { count++; } } return count; } int main() { int result=0; int array1[]={1,3,5}; int len1=3; int array2[]={77,12,1,3,5}; int len2=5; result=array_compare( len1, array1, len2, array2); /pic/result=array_compare( len1, array1[], len2, array2[]);不能這樣 /pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/pic/p>
m=p->num; /pic/pic/p>
int main() { int input_array[]={3,1,2,4}; int len=4; int m=7; int output_array[4]; array_iterate(len, input_array, m); }
8、簡單四則運算
• 問題描述: 輸入一個只包含個位數字的簡單四則運算表達式字符串,計算該表達式的值
注: 1、表達式只含 +, -, *, / 四則運算符,不含括號
2、表達式數值只包含個位整數(0-9),且不會出現0作為除數的情況
3、要考慮加減乘除按通常四則運算規定的計算優先級
4、除法用整數除法,即僅保留除法運算結果的整數部分。比如8/3=2。輸入表達式保證無0作為除數情況發生
5、輸入字符串一定是符合題意合法的表達式,其中只包括數字字符和四則運算符字符,除此之外不含其它任何字符,不會出現計算溢出情況
• 要求實現函數:
int calculate(int len,char *expStr) 【輸入】 int len: 字符串長度; char *expStr: 表達式字符串; 【輸出】 無
【返回】 計算結果
• 示例
1) 輸入:char *expStr = “1+4*5-8/3” 函數返回:19
2) 輸入:char *expStr = “8/3*3” 函數返回:6
#include #include using namespace std;
int calculate(int len,char *expStr) { struct { char opdata[200];
int top; }opstack; /pic/pic/pic/p>
{ switch (ch) { case '+': case '-': while (opstack.top != -1) { expStr[t] = opstack.opdata[opstack.top]; opstack.top--; t++; } opstack.top++; opstack.opdata[opstack.top] = ch; break; case '*': case '/': while (opstack.top != -1 && (opstack.opdata[opstack.top] =='*' || opstack.opdata[opstack.top] =='/') ) { expStr[t] = opstack.opdata[opstack.top]; opstack.top--; t++; } opstack.top++; opstack.opdata[opstack.top] = ch; break; default: expStr[t] = ch; t++; break; } i++; ch = expStr[i]; } while (opstack.top != -1)/pic/p>
else if('-' == ch) { int tmp = data.numeric[data.top-1] - data.numeric[data.top]; data.top--; data.numeric[data.top] = tmp; } else if('*' == ch) { int tmp = data.numeric[data.top-1] * data.numeric[data.top]; data.top--; data.numeric[data.top] = tmp; } else if('/' == ch) { if(data.numeric[data.top] == 0) { printf("cannot be zero of the divide\n"); exit(1); } int tmp = data.numeric[data.top-1] / data.numeric[data.top]; data.top--; data.numeric[data.top] = tmp; } i++; ch = expStr[i]; } return data.numeric[data.top]; }
void main() { char expStr[] = "9/3*5"; printf("%s\n",expStr); int result = calculate(strlen(expStr),expStr); printf("%d\n",result); }
9、選秀節目打分,分為專家評委和大眾評委,score[] 數組里面存儲每個評委打的分數,judge_type[] 里存儲與 score[] 數組對應的評委類別,judge_type[i] == 1,表示專家評委,judge_type[i] == 2,表示大眾評委,n表示評委總數。打分規則如下:專家評委和大眾評委的分數先分別取一個平均分(平均分取整),然后,總分 = 專家評委平均分 * 0.6 + 大眾評委 * 0.4,總分取整。如果沒有大眾評委,則 總分 = 專家評委平均分,總分取整。函數最終返回選手得分。
函數接口 int cal_score(int score[], int judge_type[], int n)
#include #include #include #include #define N 5
int cal_score(int score[], int judge_type[], int n) { int expert=0; int dazhong=0; int zongfen=0; int i; int number=0; for(i=0;i
if(judge_type[i]==1)
{ expert=expert+score[i]; number++; } else dazhong=dazhong+score[i]; } if(number==N) { zongfen=(int)(expert/N); } else { expert=(int)(expert/number); dazhong=(int)(dazhong/(N-number)); zongfen=int(0.6*expert+0.4*dazhong); } return zongfen; }
int main() { int score[N]; int judge_type[N]; int numberlast=0; int i; printf("please input the %d score:\n",N); for(i=0;i
10、給定一個數組input[] ,如果數組長度n為奇數,則將數組中最大的元素放到 output[] 數組最中間的位置,如果數組長度n為偶數,則將數組中最大的元素放到 output[] 數組中間兩個位置偏右的那個位置上,然后再按從大到小的順序,依次在第一個位置的兩邊,按照一左一右的順序,依次存放剩下的數。
例如:input[] = {3, 6, 1, 9, 7} output[] = {3, 7, 9, 6, 1}; input[] = {3, 6, 1, 9, 7, 8} output[] = {1, 6, 8, 9, 7, 3} #include #include #include
void sort(int input[], int n, int output[]) { int i,j; int k=1; int temp; int med; for(i=0;iinput[j+1]) {temp=input[j];input[j]=input[j+1];input[j+1]=temp;} if(n%2!=0) { for(i=0;i
output[med-i]=input[n-1-k]; output[med+i]=input[n-2-k]; k=k+2; } } else { for(i=0;i
int main() { int a[6]={3,6,1,9,7,8}; int b[6]={0}; for(int i=0;i<6;i++) printf("%2d",a[i]); printf("\n"); sort(a,6,b); return 0; }
11、操作系統任務調度問題。操作系統任務分為系統任務和用戶任務兩種。其中,系統任務的優先級 < 50,用戶任務的優先級 >= 50且 <= 255。優先級大于255的為非法任務,應予以剔除。現有一任務隊列task[],長度為n,task中的元素值表示任務的優先級,數值越小,優先級越高。函數scheduler實現如下功能,將task[] 中的任務按照系統任務、用戶任務依次存放到 system_task[] 數組和 user_task[] 數組中(數組中元素的值是任務在task[] 數組中的下標),并且優先級高的任務排在前面,數組元素為-1表示結束。
例如:task[] = {0, 30, 155, 1, 80, 300, 170, 40, 99} system_task[] = {0, 3, 1, 7, -1} user_task[] = {4, 8, 2, 6, -1}
函數接口 void scheduler(int task[], int n, int system_task[], int user_task[]) #include #include #include #include
void scheduler1(int task[], int n, int system_task[], int user_task[]) { int i; int j=0; int *p,*pp,*p_user,*pp_user; int index=0; int count,count2; int min=0; int k=0; p=(int*)malloc(sizeof(int)*n); for(i=0;i
pp=(int*)malloc(sizeof(int)*n); for(i=0;i
pp[count]=-1; for(i=0;i
for(i=0;i
StrReplace(s,s1,s2); printf("%s\n",s); }
void StrReplace(char* strSrc, char* strFind, char* min=user_task[0]; for(j=1;j
pp_user[count2]=-1; for(i=0;i
int main() { int task[9]={0, 30, 155, 1, 80, 300,170, 40, 99}; int system_task[9]={0}; int user_task[9]={0}; scheduler1(task,9,system_task,user_task); return 0; }
13、輸入一個字符串,用指針求出字符串的長度。 答案:
#include int main() {
char str[20], *p; int length=0;
printf(“Please input a string: ”); gets(str); p=str;
while(*p++) {
length++; }
printf(“The length of string is %d\n”, length); return 0; }
14、使用C語言實現字符串中子字符串的替換
描述:編寫一個字符串替換函數,如函數名為 StrReplace(char* strSrc, char* strFind, char* strReplace),strSrc為原字符串,strFind是待替換的字符串,strReplace為替換字符串。 舉個直觀的例子吧,如:“ABCDEFGHIJKLMNOPQRSTUVWXYZ”這個字符串,把其中的“RST”替換為“ggg”這個字符串,結果就變成了:ABCDEFGHIJKLMNOPQgggUVWXYZ 答案一:
#include #include
void StrReplace(char* strSrc, char* strFind, char* strReplace); #define M 100; void main()
{char s[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; strReplace) {
int i=0; int j;
int n=strlen(strSrc); int k=strlen(strFind); for(i=0;i
if(*(strSrc+i)==*strFind) {
for(j=0;j
if(*(strSrc+i+j)==*(strFind+j)) {
*(strSrc+i+j)=*(strReplace+j); }
else continue; } } } }
答案二:
#include #define MAX 100
StrReplace(char *s, char *s1, char *s2) { char *p;
for(; *s; s++) {
for(p = s1; *p && *p != *s; p++); if(*p) *s = *(p - s1 + s2); } }
int main() {
char s[MAX]; /pic/pic/pic/p>
puts("Please input the string for s1:"); scanf("%s", s1);
puts("Please input the string for s2:"); scanf("%s", s2);
StrReplace(s, s1, s2);
puts("The string of s after displace is:"); printf("%s\n", s); return 0; }
答案三:
#include #include #include #define M 100
void StrReplace(char* strSrc, char* strFind, strReplace); int main() { char s[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; char s1[]="RST"; char s2[]="gggg";
char*
StrReplace(s,s1,s2); printf("%s\n",s); return 0; }
void StrReplace(char* strSrc, char* strFind, char* strReplace) { while(*strSrc != '\0') { if(*strSrc == *strFind) { if(strncmp(strSrc,strFind,strlen(strFind)) == 0 ) { int i = strlen(strFind); int j = strlen(strReplace); printf("i = %d,j = %d\n",i,j); char *q = strSrc + i; printf("*q = %s\n",q); while((*strSrc++ = *strReplace++) != '\0'); printf("strSrc - 1 = %s\n",strSrc - 1); printf("*q = %s\n",q); while((*strSrc++ = *q++) != '\0'); } else { strSrc++; } } else { strSrc++; } } }
15、編寫一個程序實現功能:將字符串”Computer Secience”賦給一個字符數組,然后從第一個字母開始間隔的輸出該串,用指針完成。 答案:
#include #include int main() { char str[]=”Computer Science”; int flag=1; char *p=str; while(*p)
{
if ( flag ) {
printf(“%c”,*p); }
flag = (flag + 1) % 2; p++; } printf(“\n”); return 0; }
17、編寫一個程序實現功能:將兩個字符串合并為一個字符串并且輸出,用指針實現。
char str1[20]={“Hello ”}, str2[20]={“World ”}; 答案:
#include
int main() { char str1[20]={“Hello ”}, str2[20]={“World ”}; char *p=str1, *q=str2;
while( *p ) p++; while( *q ) {
*p = *q; p++; q++; }
*p = ‘\0’;
printf(“%s\n”, str1);
return 0; }
18、算分數的問題,去掉一個最高分一個最低分,求平均分 #include
float avescore(float score[],int n) {
float min=0; float max=0;
int minindex=0; int maxindex=0; float sum=0; min=score[0];
for(int i=0;i
min=score[i]; minindex=i; }
score[minindex]=0; max=score[0]; for(i=0;i
if(score[i]>max) {
max=score[i]; maxindex=i; }
score[maxindex]=0; for(i=0;i
return sum; }
void main() {
float score[6]={70,80,90,98,87,86}; float lastscore;
lastscore=avescore(score,6);
printf("the last score is :%5.2f\n",lastscore); }
運行結果:
the last score is :85.75 19、對一個數組,將數組中偶數從大到小排序,奇數從小到大排序,奇數和偶數交叉著放且輸出數組第一位放奇數 若奇數和偶數不等長,則把剩下的直接放到數組中。 思路:先進行奇偶判斷,得到奇數和偶數數組。然后對兩數組排序,進行長度判斷,最后組織數據。 #include #include
void jiou(int a[],int n) {
int *p1; int *p2;
int i,j; int k=0; int kk=0;
int count1=0; int count2=0; int temp; int temp2; int m=0;
p1=(int*)malloc(sizeof(int)*n); p2=(int*)malloc(sizeof(int)*n); for(i=0;i
p1[i]=0; p2[i]=0; }
for(i=0;i
if((a[i]%2)!=0) {p2[kk++]=a[i];} else
{p1[k++]=a[i];} }
count1=k; count2=kk;
for(i=0;i
for(i=0;i
for(j=0;jp2[j+1])
{temp2=p2[j];p2[j]=p2[j+1];p2[j+1]=temp2;} for(i=0;i
for(i=0;i
for(i=0;i
for(j=0;j
{temp=p1[j];p1[j]=p1[j+1];p1[j+1]=temp;}
for(i=0;i
if(count1>count2) {
for(i=0;i
a[i+m]=p2[i]; a[i+1+m]=p1[i]; m=m+1; }
for(i=0;i
for(i=0;i
a[i+m]=p2[i]; a[i+1+m]=p1[i]; m=m+1; }
for(i=0;i
for(i=0;i
printf("%3d",a[i]);
printf("%\n"); }
void main() {
int a[10]={2,3,14,6,2,15,12,14,4,11}; jiou(a,10); }
運行結果: 3 15 11 3 11 15
2 14 6 2 12 14 4 14 14 12 6 4 2 2
3 14 11 14 15 12 6 4 2 2
20.判斷身份證號碼的合法性
/*我國公民的身份證號碼特點如下: 1、 長度為18位;
2、 第1~17位只能為數字;
3、 第18位可以是數字或者小寫英文字母x。
4、 身份證號碼的第7~14位表示持有人生日的年、月、日信息。
例如:511 002 1988 08 08 0111或51100219880808011x。
請實現身份證號碼合法性判斷的函數。除滿足以上要求外,需要對持有人生日的年、月、日信息進行校驗。年份大于等于1900年, 小于等于2100年。需要考慮閏年、大小月的情況。 所謂閏年,能被4整除且不能被100整除 或 能被400整除的年份,閏年的2月份為29天,非閏年的2月份為28天。其他情況的合法性校驗,考生不用考慮。 函數返回值:
1) 如果身份證號合法,返回0;
2) 如果身份證號長度不合法,返回1;
3) 如果身份證號第1~17位含有非數字的字符,返回2;
4) 如果身份證號第18位既不是數字也不是英文小寫字母x,返回3;
5) 如果身份證號的年信息非法,返回4;6-9 6) 如果身份證號的月信息非法,返回5;10-11
7) 如果身份證號的日信息非法,返回6(請注意閏年的情況);12-13
【注】除成功的情況外,以上其他合法性判斷的優先級依次降低。也就是說,如果判斷出長度不合法,直接返回1即可,不需要再做其他合法性判斷。 #include #include
int verifyID(char* inID) { int len = strlen(inID); int i; if( len !=18) return 1;
for(i=0;i<17;i++) { if( *(inID+i)<'0'|| *(inID+i)>'9') return 2; } if( *(inID+17) <'0'||*(inID+17) >'9') if( *(inID+17)!='x' ) return 3; char temp1[10]={0}; char temp2[10]={0}; char temp3[10]={0}; memcpy(temp1,inID+6,4); int year=atoi(temp1); if( year<1900||year>2100) return 4; memcpy(temp2,inID+10,2); int mon=atoi(temp2); if( mon<1||mon>12) return 5; memcpy(temp3,inID+12,2); int day=atoi(temp3); if(1==mon) { if( day<0 ||day>31) return 6; } if(2==mon)/pic/p>
if( day<0 ||day>31) return 6; } if(8==mon) { if( day<0 ||day>31) return 6; } if(9==mon) { if( day<0 ||day>30) return 6; } if(10==mon) { if( day<0 ||day>31) return 6; } if(11==mon) { if( day<0 ||day>30) return 6; } if(12==mon) { if( day<0 ||day>31) return 6; } return 0; }
void main() { char buf[20]="500106198701295410"; int re=verifyID(buf); printf("re = %d\n",re); printf("\n"); }
6、 手機號碼合法性判斷(20分) 問題描述:
我國大陸運營商的手機號碼標準格式為:國家碼+手機號碼,例如:8613912345678。特點如下: 1、 長度13位;
2、 以86的國家碼打頭;
3、 手機號碼的每一位都是數字。
請實現手機號碼合法性判斷的函數要求: 1) 如果手機號碼合法,返回0;
2) 如果手機號碼長度不合法,返回1
3) 如果手機號碼中包含非數字的字符,返回2; 4) 如果手機號碼不是以86打頭的,返回3;
【注】除成功的情況外,以上其他合法性判斷的優先級依次降低。也就是說,如果判斷出長度不合法,直接返回1即可,不需要再做其他合法性判斷。 要求實現函數:
int verifyMsisdn(char* inMsisdn)
【輸入】 char* inMsisdn,表示輸入的手機號碼字符串。 【輸出】 無
【返回】 判斷的結果,類型為int。 示例
輸入: inMsisdn = “869123456789“ 輸出: 無 返回: 1
輸入: inMsisdn = “88139123456789“
輸出: 無 返回: 3
輸入: inMsisdn = “86139123456789“ 輸出: 無 返回: 0
#include #include #include #include #define LENGTH 13
int verifyMsisdn(char *inMsisdn) { char *pchar=NULL; assert(inMsisdn!=NULL); if(LENGTH==strlen(inMsisdn)) { if(('8'==*inMsisdn)&&(*(inMsisdn+1)=='6')) { while(*inMsisdn!='\0') { if((*inMsisdn>='0')&&(*inMsisdn<='9')) inMsisdn++; else return 2 ; } } else return 3; } else return 1; return 0; }
int main() { char *pchar=NULL; unsigned char ichar=0; int result; switch(ichar) { case 0: pchar="8612345363789";break; case 1: pchar="861111111111111";break; case 2: pchar="86s1234536366"; break; default: break; }
result =verifyMsisdn(pchar);
printf("result is %d\n",result); }
答案二:#include #include
int verifyMsisdn(char* inMsisdn) { int len = strlen(inMsisdn); int i=0; if(len!=13) return 1; for(i=0;i<13;i++) { if( *(inMsisdn+i)<'0'|| *(inMsisdn+i)>'9')
return 2; } if( *(inMsisdn+0)=='8' && *(inMsisdn+1)=='6' ) return 0; else return 3; }
void main() { int re = verifyMsisdn("861A640503228"); printf("re = %d\n",re); }
題目一:子串分離 題目描述:
通過鍵盤輸入任意一個字符串序列,字符串可能包含多個子串,子串以空格分隔。請編寫一個程序,自動分離出各個子串,并使用’,’將其分隔,并且在最后也補充一個’,’并將子串存儲。 如果輸入“abc def gh i d”,結果將是abc,def,gh,i,d, 要求實現函數:
void DivideString(const char *pInputStr, long lInputLen, char *pOutputStr);
【輸入】 pInputStr: 輸入字符串 lInputLen: 輸入字符串長度
【輸出】 pOutputStr: 輸出字符串,空間已經開辟好,與輸入字符串等長;
【注意】只需要完成該函數功能算法,中間不需要有任何IO的輸入輸出 示例
輸入:“abc def gh i d” 輸出:“abc,def,gh,i,d,” 題目二:逆序鏈表輸出。 題目描述:
將輸入的一個單向鏈表,逆序后輸出鏈表中的值。鏈表定義如下: typedef struct tagListNode {
int value;
struct tagListNode *next; }ListNode;
要求實現函數:
void converse(ListNode **head);
【輸入】head: 鏈表頭節點,空間已經開辟好 【輸出】head: 逆序后的鏈表頭節點 【返回】無
【注意】只需要完成該函數功能算法,中間不需要有任何IO的輸入輸出
參考答案: 題目一:
一個字符串里面包含了一些位置不定的空格符,把里面所有的非空格字符找出來,把空格用‘,’替換。
替換后的句子末尾必須有一個‘,’存在。 例如“this is an demo”替換后應該為: "this,is,an,demo,"
[cpp] view plaincopyprint? #include char *ReplaceString(const char *pInString, char *pOutString) {
char *cp = pOutString ; /pic/p>
pInString ++; }
while(*pInString) {
*cp = *pInString; cp++;
pInString++;
if(*pInString == ' ') {
*cp= ','; cp++;
pInString++; } }
*cp = '\0';
/pic/p>
*cp = ',';
*(++cp) = '\0'; }
return pOutString; }
int main() {
char *pin = " This is a demo"; char pout[100];
ReplaceString(pin, pout); printf("%s \n", pin); printf("%s \n", pout); return 0; }
題目二參考答案
link *Reversal(link *listhead) {
link *p, *q, *head = NULL; p = listhead;
while (p != NULL) {
q = p->next; p->next = head; head = p; p = q; }
return head; }
1求一個整型數字中有沒有相同的部分,例如12389756123這個整型數字中相同的部分是123,相同的部分至少應該是2位數,如果有相同部分返回1,如果沒有則返回0。方法是先將整型數字轉換到數組中,再判斷。
函數為 int same(int num) 其中num是輸入的整型數字 #include using namespace std; int same(int num) { int cs=num; int sz[20]; int m=0;
while(cs!=0) {
sz[m]=cs%10; cs=cs/10; m++; }
for(int i=0;i
if((sz[i]==sz[j])&&(sz[i+1]==sz[j+1])) return 1; } return 0; }
int main() { int a,b; cin>>a; b=same(a); cout<
2求兩個字符串的乘積,結果存到字符串中,例如字符串一中存的“657891”,字符串二中存的“521”,分別將字符串中的字符轉換成整型數字,進行計算后,再轉換成字符類型存儲起來
函數為 void mul(char *input1,int n,char *input2, int m,char *output)
其中input1和input2是輸入,n是input1的長度,n2是input2的長度。Output是輸出 #include using namespace std;
void dacheng(char *a,char *b,int anum,int bnum) { int c[100][100]; int x,y; for(int i=0;i
int t=bnum+anum-1;/pic/pic/10; e[t-1-i]=(e[t-1-i]+d[i])%10; /pic/p>
qq++; } } char *f=new char[qq]; for(int i=qq-1;i>=0;i--) { f[qq-1-i]=e[i]+'0'; cout<
int main() { char a[100],b[100]; int anum,bnum; cin>>a; cin>>b; anum=strlen(a); bnum=strlen(b); dacheng(a,b,anum,bnum); system("pause"); return 0; }
3以下函數的功能是用遞歸的方法計算x的n階勒讓德多項式的值。已有調用語句p(n,x);編寫函數實現功能。遞歸公式如下:
1
Px(x)x
((2n1)xP(x)(n1)P(x))/n
n1n2
#include float p(int x,int n) { float t,t1,t2; if(n= =0) return 1; else if(n= =1) return x; else { t1=(2*n-1)*x*p(x,(n-1)); t2=(n-1)*p(x,(n-2)); t=(t1-t2)/n; return t; } }
int main() { int x,n; printf(“input two int (x and n):”); scanf(“%d%d”,&x,&n); printf(“%.2f\n”,p(x,n)); return 0; }
4給主函數傳遞參數實現echo功能: #incldue
int main(int argc,char *argv[]) { int i=1; while( i < argc ) { printf(“%s ”,argv[i]); i++; }
printf(“\n”); return 0; }
(n0)(n1)(n1)
【描寫五一勞動節作文】相關文章:
描寫五一勞動節的優秀作文300字05-15
【集合】描寫五一勞動節的優秀作文300字05-15
五一勞動節作文_五一勞動節作文例文大全02-21
五一勞動節的作文|五一勞動節游記作文09-16
五一勞動節的作文06-27
五一勞動節作文01-20
五一勞動節作文02-06
五一勞動節作文02-07