C语言数组编程题及解答.docx
《C语言数组编程题及解答.docx》由会员分享,可在线阅读,更多相关《C语言数组编程题及解答.docx(16页珍藏版)》请在冰豆网上搜索。
C语言数组编程题及解答
【程序1】
用筛选法求100之内的素数
筛选法又称筛法,是求不超过自然数N(N>1)的所有质数的一种方法。
据说是古希腊的埃拉托斯特尼(Eratosthenes,约公元前274~194年)发明的,又称埃拉托斯特尼筛子。
具体做法是:
先把N个自然数按次序排列起来。
1不是质数,也不是合数,要划去。
第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。
2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。
3后面第一个没划去的数是5,把5留下,再把5后面所有能被5整除的数都划去。
这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超过N的全部质数。
因为希腊人是把数写在涂腊的板上,每要划去一个数,就在上面记以小点,寻求质数的工作完毕后,这许多小点就像一个筛子,所以就把埃拉托斯特尼的方法叫做“埃拉托斯特尼筛”,简称“筛法”。
#include
voidmain()
{
inti,j;
inta[100];
for(i=0;i<100;i++)
a[i]=i+1;
for(i=1;i<100;i++)
if(a[i]==0)
continue;
for(j=i+1;j<100;j++)
if(a[j]%a[i]==0)
a[j]=0;
}
for(j=1;j<100;j++)//j从1开始,去除a[0](其值为1),因为1既不是质数,也不是合数
if(a[j]!
=0)
printf("%d,",a[j]);
printf("\n");
【程序2】
题目:
一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如6=1+2+3.编程找出1000以内的所有完数。
程序源代码:
intmain()
intk[10];
inti,j,n,s;
for(j=2;j<1000;j++)
n=-1;
s=j;
for(i=1;i{if((j%i)==0){n++;s=s-i;k[n]=i;}}if(s==0)//说明是完数{printf("%disawanshu:",j);for(i=0;i<=n;i++)printf("%d",k[i]);printf("\n");}}return1;}【程序3】题目:用选择法对10个数进行从大到小排序1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。 2.程序源代码:#include#defineN10intmain(){inti,j,max,tem,a[N];/*inputdata*/printf("pleaseinputtennum:\n");for(i=0;i{printf("a[%d]=",i);scanf("%d",&a[i]);}printf("\n");printf("Beforesorted\n");for(i=0;iprintf("%5d",a[i]);printf("\n");/*sorttennum*/for(i=0;i{max=i;for(j=i+1;jif(a[max]if(max!=i){tem=a[i];a[i]=a[max];a[max]=tem;}}/*outputdata*/printf("Aftersorted\n");for(i=0;iprintf("%5d",a[i]);printf("\n");return1;}==============================================================【程序4】题目:求一个3*3矩阵对角线元素之和1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。2.程序源代码:#includeintmain(){floata[3][3],sum=0;inti,j;printf("pleaseinputrectangleelement:\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%f",&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][i];printf("duijiaoxianheis%6.2f",sum);return1;}【程序5】题目:将一个数组逆序输出。1.程序分析:用第一个与最后一个交换。2.程序源代码:#defineN5intmain(){inta[N]={9,6,5,4,1},i,temp;printf("\noriginalarray:\n");for(i=0;iprintf("%4d",a[i]);for(i=0;i{temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf("\nsortedarray:\n");for(i=0;iprintf("%4d",a[i]);printf("\n");return1;}1Q_r_P_^,j_R_C_D_C0#],?'e_O_G/M+f_\9B051Testing软件测试网;S$p-]$ai【程序6】_W?#A_t0u_P+D0打印出以下杨辉三角形(要求打印出10行)。 _x_W"`_](d01 51Testing软件测试网]2t_kO;^1 1 &D_z8H;q_]_A6A6k%A,]*|.|01 2 1 51Testing软件测试网2Q_X`V_z_a_u4b1 3 3 1 51Testing软件测试网_Qj_M+@_qd1Q_q1 4 6 4 1 51Testing软件测试网_A_Y_{M_D_U(`_Q1 5 10 10 5 1&~9t_S`6YWW~0#includevoidmain(){intn,i;inta[10],b[10];a[0]=1;a[1]=1;printf("%-4d\n",a[0]);printf("%-4d%-4d\n",a[0],a[1]);for(n=3;n<=10;n++){b[0]=1;for(i=1;ib[i]=a[i-1]+a[i];b[n-1]=1;for(i=0;i{printf("%-4d",b[i]);a[i]=b[i];}printf("\n");}};r.v_X_M_F3F_L.D_P_X_p0【程序7】有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中,则打印出"无此数"51Testing软件测试网+V_~_e_C7j_p_T5S_i#i#includeintmain(){inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};intw,l,m,h;printf("pleaseentersearchnumber:");scanf("%d",&w);for(l=0,h=14;;){m=(l+h)/2;if(w==a[m])break;if(w>a[m])l=m+1;if(wh=m-1;if(l>h)break;}if(l>h)printf("无此数\n");if(w==a[m])printf("itisat%d\n",m+1);return1;}【程序8】有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。"w:G_mT_P7u0#include#includeintmain(){chara[3][81];inti,j,len;intnum[5]={0,0,0,0,0};for(i=0;i<3;i++)gets(a[i]);for(i=0;i<3;i++){len=strlen(a[i]);for(j=0;j{if(a[i][j]>='a'&&a[i][j]<='z')num[0]++;elseif(a[i][j]>='A'&&a[i][j]<='Z')num[1]++;elseif(a[i][j]=='')num[2]++;elseif(a[i][j]>='1'&&a[i][j]<='9')num[3]++;elsenum[4]++;}}printf("英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n",num[0],num[1],num[2],num[3],num[4]);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序9】打印以下图案 51Testing软件测试网_g_x_yc_u_aH_t_F* * * * * _Y'D(M_s_Y'Y0 * * * * * _Y+P_Q_l_xI&Q_i__8n0 * * * * * 51Testing软件测试网:j+w+v8Sr * * * * * 51Testing软件测试网5{_~$tD/s_} * * * * * _v_?_b_F_F'd_j0#include#defineN5intmain(){inti,j;for(i=0;i{for(j=0;jprintf("");for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
if((j%i)==0)
n++;
s=s-i;
k[n]=i;
if(s==0)//说明是完数
printf("%disawanshu:
",j);
for(i=0;i<=n;i++)
printf("%d",k[i]);
return1;
【程序3】
用选择法对10个数进行从大到小排序
1.程序分析:
可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。
2.程序源代码:
#defineN10
inti,j,max,tem,a[N];
/*inputdata*/
printf("pleaseinputtennum:
\n");
for(i=0;i{printf("a[%d]=",i);scanf("%d",&a[i]);}printf("\n");printf("Beforesorted\n");for(i=0;iprintf("%5d",a[i]);printf("\n");/*sorttennum*/for(i=0;i{max=i;for(j=i+1;jif(a[max]if(max!=i){tem=a[i];a[i]=a[max];a[max]=tem;}}/*outputdata*/printf("Aftersorted\n");for(i=0;iprintf("%5d",a[i]);printf("\n");return1;}==============================================================【程序4】题目:求一个3*3矩阵对角线元素之和1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。2.程序源代码:#includeintmain(){floata[3][3],sum=0;inti,j;printf("pleaseinputrectangleelement:\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%f",&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][i];printf("duijiaoxianheis%6.2f",sum);return1;}【程序5】题目:将一个数组逆序输出。1.程序分析:用第一个与最后一个交换。2.程序源代码:#defineN5intmain(){inta[N]={9,6,5,4,1},i,temp;printf("\noriginalarray:\n");for(i=0;iprintf("%4d",a[i]);for(i=0;i{temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf("\nsortedarray:\n");for(i=0;iprintf("%4d",a[i]);printf("\n");return1;}1Q_r_P_^,j_R_C_D_C0#],?'e_O_G/M+f_\9B051Testing软件测试网;S$p-]$ai【程序6】_W?#A_t0u_P+D0打印出以下杨辉三角形(要求打印出10行)。 _x_W"`_](d01 51Testing软件测试网]2t_kO;^1 1 &D_z8H;q_]_A6A6k%A,]*|.|01 2 1 51Testing软件测试网2Q_X`V_z_a_u4b1 3 3 1 51Testing软件测试网_Qj_M+@_qd1Q_q1 4 6 4 1 51Testing软件测试网_A_Y_{M_D_U(`_Q1 5 10 10 5 1&~9t_S`6YWW~0#includevoidmain(){intn,i;inta[10],b[10];a[0]=1;a[1]=1;printf("%-4d\n",a[0]);printf("%-4d%-4d\n",a[0],a[1]);for(n=3;n<=10;n++){b[0]=1;for(i=1;ib[i]=a[i-1]+a[i];b[n-1]=1;for(i=0;i{printf("%-4d",b[i]);a[i]=b[i];}printf("\n");}};r.v_X_M_F3F_L.D_P_X_p0【程序7】有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中,则打印出"无此数"51Testing软件测试网+V_~_e_C7j_p_T5S_i#i#includeintmain(){inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};intw,l,m,h;printf("pleaseentersearchnumber:");scanf("%d",&w);for(l=0,h=14;;){m=(l+h)/2;if(w==a[m])break;if(w>a[m])l=m+1;if(wh=m-1;if(l>h)break;}if(l>h)printf("无此数\n");if(w==a[m])printf("itisat%d\n",m+1);return1;}【程序8】有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。"w:G_mT_P7u0#include#includeintmain(){chara[3][81];inti,j,len;intnum[5]={0,0,0,0,0};for(i=0;i<3;i++)gets(a[i]);for(i=0;i<3;i++){len=strlen(a[i]);for(j=0;j{if(a[i][j]>='a'&&a[i][j]<='z')num[0]++;elseif(a[i][j]>='A'&&a[i][j]<='Z')num[1]++;elseif(a[i][j]=='')num[2]++;elseif(a[i][j]>='1'&&a[i][j]<='9')num[3]++;elsenum[4]++;}}printf("英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n",num[0],num[1],num[2],num[3],num[4]);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序9】打印以下图案 51Testing软件测试网_g_x_yc_u_aH_t_F* * * * * _Y'D(M_s_Y'Y0 * * * * * _Y+P_Q_l_xI&Q_i__8n0 * * * * * 51Testing软件测试网:j+w+v8Sr * * * * * 51Testing软件测试网5{_~$tD/s_} * * * * * _v_?_b_F_F'd_j0#include#defineN5intmain(){inti,j;for(i=0;i{for(j=0;jprintf("");for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
printf("a[%d]=",i);
scanf("%d",&a[i]);
printf("Beforesorted\n");
for(i=0;iprintf("%5d",a[i]);printf("\n");/*sorttennum*/for(i=0;i{max=i;for(j=i+1;jif(a[max]if(max!=i){tem=a[i];a[i]=a[max];a[max]=tem;}}/*outputdata*/printf("Aftersorted\n");for(i=0;iprintf("%5d",a[i]);printf("\n");return1;}==============================================================【程序4】题目:求一个3*3矩阵对角线元素之和1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。2.程序源代码:#includeintmain(){floata[3][3],sum=0;inti,j;printf("pleaseinputrectangleelement:\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%f",&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][i];printf("duijiaoxianheis%6.2f",sum);return1;}【程序5】题目:将一个数组逆序输出。1.程序分析:用第一个与最后一个交换。2.程序源代码:#defineN5intmain(){inta[N]={9,6,5,4,1},i,temp;printf("\noriginalarray:\n");for(i=0;iprintf("%4d",a[i]);for(i=0;i{temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf("\nsortedarray:\n");for(i=0;iprintf("%4d",a[i]);printf("\n");return1;}1Q_r_P_^,j_R_C_D_C0#],?'e_O_G/M+f_\9B051Testing软件测试网;S$p-]$ai【程序6】_W?#A_t0u_P+D0打印出以下杨辉三角形(要求打印出10行)。 _x_W"`_](d01 51Testing软件测试网]2t_kO;^1 1 &D_z8H;q_]_A6A6k%A,]*|.|01 2 1 51Testing软件测试网2Q_X`V_z_a_u4b1 3 3 1 51Testing软件测试网_Qj_M+@_qd1Q_q1 4 6 4 1 51Testing软件测试网_A_Y_{M_D_U(`_Q1 5 10 10 5 1&~9t_S`6YWW~0#includevoidmain(){intn,i;inta[10],b[10];a[0]=1;a[1]=1;printf("%-4d\n",a[0]);printf("%-4d%-4d\n",a[0],a[1]);for(n=3;n<=10;n++){b[0]=1;for(i=1;ib[i]=a[i-1]+a[i];b[n-1]=1;for(i=0;i{printf("%-4d",b[i]);a[i]=b[i];}printf("\n");}};r.v_X_M_F3F_L.D_P_X_p0【程序7】有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中,则打印出"无此数"51Testing软件测试网+V_~_e_C7j_p_T5S_i#i#includeintmain(){inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};intw,l,m,h;printf("pleaseentersearchnumber:");scanf("%d",&w);for(l=0,h=14;;){m=(l+h)/2;if(w==a[m])break;if(w>a[m])l=m+1;if(wh=m-1;if(l>h)break;}if(l>h)printf("无此数\n");if(w==a[m])printf("itisat%d\n",m+1);return1;}【程序8】有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。"w:G_mT_P7u0#include#includeintmain(){chara[3][81];inti,j,len;intnum[5]={0,0,0,0,0};for(i=0;i<3;i++)gets(a[i]);for(i=0;i<3;i++){len=strlen(a[i]);for(j=0;j{if(a[i][j]>='a'&&a[i][j]<='z')num[0]++;elseif(a[i][j]>='A'&&a[i][j]<='Z')num[1]++;elseif(a[i][j]=='')num[2]++;elseif(a[i][j]>='1'&&a[i][j]<='9')num[3]++;elsenum[4]++;}}printf("英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n",num[0],num[1],num[2],num[3],num[4]);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序9】打印以下图案 51Testing软件测试网_g_x_yc_u_aH_t_F* * * * * _Y'D(M_s_Y'Y0 * * * * * _Y+P_Q_l_xI&Q_i__8n0 * * * * * 51Testing软件测试网:j+w+v8Sr * * * * * 51Testing软件测试网5{_~$tD/s_} * * * * * _v_?_b_F_F'd_j0#include#defineN5intmain(){inti,j;for(i=0;i{for(j=0;jprintf("");for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
printf("%5d",a[i]);
/*sorttennum*/
for(i=0;i{max=i;for(j=i+1;jif(a[max]if(max!=i){tem=a[i];a[i]=a[max];a[max]=tem;}}/*outputdata*/printf("Aftersorted\n");for(i=0;iprintf("%5d",a[i]);printf("\n");return1;}==============================================================【程序4】题目:求一个3*3矩阵对角线元素之和1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。2.程序源代码:#includeintmain(){floata[3][3],sum=0;inti,j;printf("pleaseinputrectangleelement:\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%f",&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][i];printf("duijiaoxianheis%6.2f",sum);return1;}【程序5】题目:将一个数组逆序输出。1.程序分析:用第一个与最后一个交换。2.程序源代码:#defineN5intmain(){inta[N]={9,6,5,4,1},i,temp;printf("\noriginalarray:\n");for(i=0;iprintf("%4d",a[i]);for(i=0;i{temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf("\nsortedarray:\n");for(i=0;iprintf("%4d",a[i]);printf("\n");return1;}1Q_r_P_^,j_R_C_D_C0#],?'e_O_G/M+f_\9B051Testing软件测试网;S$p-]$ai【程序6】_W?#A_t0u_P+D0打印出以下杨辉三角形(要求打印出10行)。 _x_W"`_](d01 51Testing软件测试网]2t_kO;^1 1 &D_z8H;q_]_A6A6k%A,]*|.|01 2 1 51Testing软件测试网2Q_X`V_z_a_u4b1 3 3 1 51Testing软件测试网_Qj_M+@_qd1Q_q1 4 6 4 1 51Testing软件测试网_A_Y_{M_D_U(`_Q1 5 10 10 5 1&~9t_S`6YWW~0#includevoidmain(){intn,i;inta[10],b[10];a[0]=1;a[1]=1;printf("%-4d\n",a[0]);printf("%-4d%-4d\n",a[0],a[1]);for(n=3;n<=10;n++){b[0]=1;for(i=1;ib[i]=a[i-1]+a[i];b[n-1]=1;for(i=0;i{printf("%-4d",b[i]);a[i]=b[i];}printf("\n");}};r.v_X_M_F3F_L.D_P_X_p0【程序7】有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中,则打印出"无此数"51Testing软件测试网+V_~_e_C7j_p_T5S_i#i#includeintmain(){inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};intw,l,m,h;printf("pleaseentersearchnumber:");scanf("%d",&w);for(l=0,h=14;;){m=(l+h)/2;if(w==a[m])break;if(w>a[m])l=m+1;if(wh=m-1;if(l>h)break;}if(l>h)printf("无此数\n");if(w==a[m])printf("itisat%d\n",m+1);return1;}【程序8】有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。"w:G_mT_P7u0#include#includeintmain(){chara[3][81];inti,j,len;intnum[5]={0,0,0,0,0};for(i=0;i<3;i++)gets(a[i]);for(i=0;i<3;i++){len=strlen(a[i]);for(j=0;j{if(a[i][j]>='a'&&a[i][j]<='z')num[0]++;elseif(a[i][j]>='A'&&a[i][j]<='Z')num[1]++;elseif(a[i][j]=='')num[2]++;elseif(a[i][j]>='1'&&a[i][j]<='9')num[3]++;elsenum[4]++;}}printf("英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n",num[0],num[1],num[2],num[3],num[4]);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序9】打印以下图案 51Testing软件测试网_g_x_yc_u_aH_t_F* * * * * _Y'D(M_s_Y'Y0 * * * * * _Y+P_Q_l_xI&Q_i__8n0 * * * * * 51Testing软件测试网:j+w+v8Sr * * * * * 51Testing软件测试网5{_~$tD/s_} * * * * * _v_?_b_F_F'd_j0#include#defineN5intmain(){inti,j;for(i=0;i{for(j=0;jprintf("");for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
max=i;
for(j=i+1;jif(a[max]if(max!=i){tem=a[i];a[i]=a[max];a[max]=tem;}}/*outputdata*/printf("Aftersorted\n");for(i=0;iprintf("%5d",a[i]);printf("\n");return1;}==============================================================【程序4】题目:求一个3*3矩阵对角线元素之和1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。2.程序源代码:#includeintmain(){floata[3][3],sum=0;inti,j;printf("pleaseinputrectangleelement:\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%f",&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][i];printf("duijiaoxianheis%6.2f",sum);return1;}【程序5】题目:将一个数组逆序输出。1.程序分析:用第一个与最后一个交换。2.程序源代码:#defineN5intmain(){inta[N]={9,6,5,4,1},i,temp;printf("\noriginalarray:\n");for(i=0;iprintf("%4d",a[i]);for(i=0;i{temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf("\nsortedarray:\n");for(i=0;iprintf("%4d",a[i]);printf("\n");return1;}1Q_r_P_^,j_R_C_D_C0#],?'e_O_G/M+f_\9B051Testing软件测试网;S$p-]$ai【程序6】_W?#A_t0u_P+D0打印出以下杨辉三角形(要求打印出10行)。 _x_W"`_](d01 51Testing软件测试网]2t_kO;^1 1 &D_z8H;q_]_A6A6k%A,]*|.|01 2 1 51Testing软件测试网2Q_X`V_z_a_u4b1 3 3 1 51Testing软件测试网_Qj_M+@_qd1Q_q1 4 6 4 1 51Testing软件测试网_A_Y_{M_D_U(`_Q1 5 10 10 5 1&~9t_S`6YWW~0#includevoidmain(){intn,i;inta[10],b[10];a[0]=1;a[1]=1;printf("%-4d\n",a[0]);printf("%-4d%-4d\n",a[0],a[1]);for(n=3;n<=10;n++){b[0]=1;for(i=1;ib[i]=a[i-1]+a[i];b[n-1]=1;for(i=0;i{printf("%-4d",b[i]);a[i]=b[i];}printf("\n");}};r.v_X_M_F3F_L.D_P_X_p0【程序7】有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中,则打印出"无此数"51Testing软件测试网+V_~_e_C7j_p_T5S_i#i#includeintmain(){inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};intw,l,m,h;printf("pleaseentersearchnumber:");scanf("%d",&w);for(l=0,h=14;;){m=(l+h)/2;if(w==a[m])break;if(w>a[m])l=m+1;if(wh=m-1;if(l>h)break;}if(l>h)printf("无此数\n");if(w==a[m])printf("itisat%d\n",m+1);return1;}【程序8】有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。"w:G_mT_P7u0#include#includeintmain(){chara[3][81];inti,j,len;intnum[5]={0,0,0,0,0};for(i=0;i<3;i++)gets(a[i]);for(i=0;i<3;i++){len=strlen(a[i]);for(j=0;j{if(a[i][j]>='a'&&a[i][j]<='z')num[0]++;elseif(a[i][j]>='A'&&a[i][j]<='Z')num[1]++;elseif(a[i][j]=='')num[2]++;elseif(a[i][j]>='1'&&a[i][j]<='9')num[3]++;elsenum[4]++;}}printf("英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n",num[0],num[1],num[2],num[3],num[4]);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序9】打印以下图案 51Testing软件测试网_g_x_yc_u_aH_t_F* * * * * _Y'D(M_s_Y'Y0 * * * * * _Y+P_Q_l_xI&Q_i__8n0 * * * * * 51Testing软件测试网:j+w+v8Sr * * * * * 51Testing软件测试网5{_~$tD/s_} * * * * * _v_?_b_F_F'd_j0#include#defineN5intmain(){inti,j;for(i=0;i{for(j=0;jprintf("");for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
if(a[max]if(max!=i){tem=a[i];a[i]=a[max];a[max]=tem;}}/*outputdata*/printf("Aftersorted\n");for(i=0;iprintf("%5d",a[i]);printf("\n");return1;}==============================================================【程序4】题目:求一个3*3矩阵对角线元素之和1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。2.程序源代码:#includeintmain(){floata[3][3],sum=0;inti,j;printf("pleaseinputrectangleelement:\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%f",&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][i];printf("duijiaoxianheis%6.2f",sum);return1;}【程序5】题目:将一个数组逆序输出。1.程序分析:用第一个与最后一个交换。2.程序源代码:#defineN5intmain(){inta[N]={9,6,5,4,1},i,temp;printf("\noriginalarray:\n");for(i=0;iprintf("%4d",a[i]);for(i=0;i{temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf("\nsortedarray:\n");for(i=0;iprintf("%4d",a[i]);printf("\n");return1;}1Q_r_P_^,j_R_C_D_C0#],?'e_O_G/M+f_\9B051Testing软件测试网;S$p-]$ai【程序6】_W?#A_t0u_P+D0打印出以下杨辉三角形(要求打印出10行)。 _x_W"`_](d01 51Testing软件测试网]2t_kO;^1 1 &D_z8H;q_]_A6A6k%A,]*|.|01 2 1 51Testing软件测试网2Q_X`V_z_a_u4b1 3 3 1 51Testing软件测试网_Qj_M+@_qd1Q_q1 4 6 4 1 51Testing软件测试网_A_Y_{M_D_U(`_Q1 5 10 10 5 1&~9t_S`6YWW~0#includevoidmain(){intn,i;inta[10],b[10];a[0]=1;a[1]=1;printf("%-4d\n",a[0]);printf("%-4d%-4d\n",a[0],a[1]);for(n=3;n<=10;n++){b[0]=1;for(i=1;ib[i]=a[i-1]+a[i];b[n-1]=1;for(i=0;i{printf("%-4d",b[i]);a[i]=b[i];}printf("\n");}};r.v_X_M_F3F_L.D_P_X_p0【程序7】有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中,则打印出"无此数"51Testing软件测试网+V_~_e_C7j_p_T5S_i#i#includeintmain(){inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};intw,l,m,h;printf("pleaseentersearchnumber:");scanf("%d",&w);for(l=0,h=14;;){m=(l+h)/2;if(w==a[m])break;if(w>a[m])l=m+1;if(wh=m-1;if(l>h)break;}if(l>h)printf("无此数\n");if(w==a[m])printf("itisat%d\n",m+1);return1;}【程序8】有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。"w:G_mT_P7u0#include#includeintmain(){chara[3][81];inti,j,len;intnum[5]={0,0,0,0,0};for(i=0;i<3;i++)gets(a[i]);for(i=0;i<3;i++){len=strlen(a[i]);for(j=0;j{if(a[i][j]>='a'&&a[i][j]<='z')num[0]++;elseif(a[i][j]>='A'&&a[i][j]<='Z')num[1]++;elseif(a[i][j]=='')num[2]++;elseif(a[i][j]>='1'&&a[i][j]<='9')num[3]++;elsenum[4]++;}}printf("英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n",num[0],num[1],num[2],num[3],num[4]);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序9】打印以下图案 51Testing软件测试网_g_x_yc_u_aH_t_F* * * * * _Y'D(M_s_Y'Y0 * * * * * _Y+P_Q_l_xI&Q_i__8n0 * * * * * 51Testing软件测试网:j+w+v8Sr * * * * * 51Testing软件测试网5{_~$tD/s_} * * * * * _v_?_b_F_F'd_j0#include#defineN5intmain(){inti,j;for(i=0;i{for(j=0;jprintf("");for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
if(max!
=i)
tem=a[i];
a[i]=a[max];
a[max]=tem;
/*outputdata*/
printf("Aftersorted\n");
for(i=0;iprintf("%5d",a[i]);printf("\n");return1;}==============================================================【程序4】题目:求一个3*3矩阵对角线元素之和1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。2.程序源代码:#includeintmain(){floata[3][3],sum=0;inti,j;printf("pleaseinputrectangleelement:\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%f",&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][i];printf("duijiaoxianheis%6.2f",sum);return1;}【程序5】题目:将一个数组逆序输出。1.程序分析:用第一个与最后一个交换。2.程序源代码:#defineN5intmain(){inta[N]={9,6,5,4,1},i,temp;printf("\noriginalarray:\n");for(i=0;iprintf("%4d",a[i]);for(i=0;i{temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf("\nsortedarray:\n");for(i=0;iprintf("%4d",a[i]);printf("\n");return1;}1Q_r_P_^,j_R_C_D_C0#],?'e_O_G/M+f_\9B051Testing软件测试网;S$p-]$ai【程序6】_W?#A_t0u_P+D0打印出以下杨辉三角形(要求打印出10行)。 _x_W"`_](d01 51Testing软件测试网]2t_kO;^1 1 &D_z8H;q_]_A6A6k%A,]*|.|01 2 1 51Testing软件测试网2Q_X`V_z_a_u4b1 3 3 1 51Testing软件测试网_Qj_M+@_qd1Q_q1 4 6 4 1 51Testing软件测试网_A_Y_{M_D_U(`_Q1 5 10 10 5 1&~9t_S`6YWW~0#includevoidmain(){intn,i;inta[10],b[10];a[0]=1;a[1]=1;printf("%-4d\n",a[0]);printf("%-4d%-4d\n",a[0],a[1]);for(n=3;n<=10;n++){b[0]=1;for(i=1;ib[i]=a[i-1]+a[i];b[n-1]=1;for(i=0;i{printf("%-4d",b[i]);a[i]=b[i];}printf("\n");}};r.v_X_M_F3F_L.D_P_X_p0【程序7】有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中,则打印出"无此数"51Testing软件测试网+V_~_e_C7j_p_T5S_i#i#includeintmain(){inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};intw,l,m,h;printf("pleaseentersearchnumber:");scanf("%d",&w);for(l=0,h=14;;){m=(l+h)/2;if(w==a[m])break;if(w>a[m])l=m+1;if(wh=m-1;if(l>h)break;}if(l>h)printf("无此数\n");if(w==a[m])printf("itisat%d\n",m+1);return1;}【程序8】有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。"w:G_mT_P7u0#include#includeintmain(){chara[3][81];inti,j,len;intnum[5]={0,0,0,0,0};for(i=0;i<3;i++)gets(a[i]);for(i=0;i<3;i++){len=strlen(a[i]);for(j=0;j{if(a[i][j]>='a'&&a[i][j]<='z')num[0]++;elseif(a[i][j]>='A'&&a[i][j]<='Z')num[1]++;elseif(a[i][j]=='')num[2]++;elseif(a[i][j]>='1'&&a[i][j]<='9')num[3]++;elsenum[4]++;}}printf("英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n",num[0],num[1],num[2],num[3],num[4]);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序9】打印以下图案 51Testing软件测试网_g_x_yc_u_aH_t_F* * * * * _Y'D(M_s_Y'Y0 * * * * * _Y+P_Q_l_xI&Q_i__8n0 * * * * * 51Testing软件测试网:j+w+v8Sr * * * * * 51Testing软件测试网5{_~$tD/s_} * * * * * _v_?_b_F_F'd_j0#include#defineN5intmain(){inti,j;for(i=0;i{for(j=0;jprintf("");for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
==============================================================
【程序4】
求一个3*3矩阵对角线元素之和
利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
floata[3][3],sum=0;
printf("pleaseinputrectangleelement:
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%f",&a[i][j]);
sum=sum+a[i][i];
printf("duijiaoxianheis%6.2f",sum);
【程序5】
将一个数组逆序输出。
用第一个与最后一个交换。
#defineN5
inta[N]={9,6,5,4,1},i,temp;
printf("\noriginalarray:
for(i=0;iprintf("%4d",a[i]);for(i=0;i{temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf("\nsortedarray:\n");for(i=0;iprintf("%4d",a[i]);printf("\n");return1;}1Q_r_P_^,j_R_C_D_C0#],?'e_O_G/M+f_\9B051Testing软件测试网;S$p-]$ai【程序6】_W?#A_t0u_P+D0打印出以下杨辉三角形(要求打印出10行)。 _x_W"`_](d01 51Testing软件测试网]2t_kO;^1 1 &D_z8H;q_]_A6A6k%A,]*|.|01 2 1 51Testing软件测试网2Q_X`V_z_a_u4b1 3 3 1 51Testing软件测试网_Qj_M+@_qd1Q_q1 4 6 4 1 51Testing软件测试网_A_Y_{M_D_U(`_Q1 5 10 10 5 1&~9t_S`6YWW~0#includevoidmain(){intn,i;inta[10],b[10];a[0]=1;a[1]=1;printf("%-4d\n",a[0]);printf("%-4d%-4d\n",a[0],a[1]);for(n=3;n<=10;n++){b[0]=1;for(i=1;ib[i]=a[i-1]+a[i];b[n-1]=1;for(i=0;i{printf("%-4d",b[i]);a[i]=b[i];}printf("\n");}};r.v_X_M_F3F_L.D_P_X_p0【程序7】有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中,则打印出"无此数"51Testing软件测试网+V_~_e_C7j_p_T5S_i#i#includeintmain(){inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};intw,l,m,h;printf("pleaseentersearchnumber:");scanf("%d",&w);for(l=0,h=14;;){m=(l+h)/2;if(w==a[m])break;if(w>a[m])l=m+1;if(wh=m-1;if(l>h)break;}if(l>h)printf("无此数\n");if(w==a[m])printf("itisat%d\n",m+1);return1;}【程序8】有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。"w:G_mT_P7u0#include#includeintmain(){chara[3][81];inti,j,len;intnum[5]={0,0,0,0,0};for(i=0;i<3;i++)gets(a[i]);for(i=0;i<3;i++){len=strlen(a[i]);for(j=0;j{if(a[i][j]>='a'&&a[i][j]<='z')num[0]++;elseif(a[i][j]>='A'&&a[i][j]<='Z')num[1]++;elseif(a[i][j]=='')num[2]++;elseif(a[i][j]>='1'&&a[i][j]<='9')num[3]++;elsenum[4]++;}}printf("英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n",num[0],num[1],num[2],num[3],num[4]);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序9】打印以下图案 51Testing软件测试网_g_x_yc_u_aH_t_F* * * * * _Y'D(M_s_Y'Y0 * * * * * _Y+P_Q_l_xI&Q_i__8n0 * * * * * 51Testing软件测试网:j+w+v8Sr * * * * * 51Testing软件测试网5{_~$tD/s_} * * * * * _v_?_b_F_F'd_j0#include#defineN5intmain(){inti,j;for(i=0;i{for(j=0;jprintf("");for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
printf("%4d",a[i]);
for(i=0;i{temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf("\nsortedarray:\n");for(i=0;iprintf("%4d",a[i]);printf("\n");return1;}1Q_r_P_^,j_R_C_D_C0#],?'e_O_G/M+f_\9B051Testing软件测试网;S$p-]$ai【程序6】_W?#A_t0u_P+D0打印出以下杨辉三角形(要求打印出10行)。 _x_W"`_](d01 51Testing软件测试网]2t_kO;^1 1 &D_z8H;q_]_A6A6k%A,]*|.|01 2 1 51Testing软件测试网2Q_X`V_z_a_u4b1 3 3 1 51Testing软件测试网_Qj_M+@_qd1Q_q1 4 6 4 1 51Testing软件测试网_A_Y_{M_D_U(`_Q1 5 10 10 5 1&~9t_S`6YWW~0#includevoidmain(){intn,i;inta[10],b[10];a[0]=1;a[1]=1;printf("%-4d\n",a[0]);printf("%-4d%-4d\n",a[0],a[1]);for(n=3;n<=10;n++){b[0]=1;for(i=1;ib[i]=a[i-1]+a[i];b[n-1]=1;for(i=0;i{printf("%-4d",b[i]);a[i]=b[i];}printf("\n");}};r.v_X_M_F3F_L.D_P_X_p0【程序7】有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中,则打印出"无此数"51Testing软件测试网+V_~_e_C7j_p_T5S_i#i#includeintmain(){inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};intw,l,m,h;printf("pleaseentersearchnumber:");scanf("%d",&w);for(l=0,h=14;;){m=(l+h)/2;if(w==a[m])break;if(w>a[m])l=m+1;if(wh=m-1;if(l>h)break;}if(l>h)printf("无此数\n");if(w==a[m])printf("itisat%d\n",m+1);return1;}【程序8】有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。"w:G_mT_P7u0#include#includeintmain(){chara[3][81];inti,j,len;intnum[5]={0,0,0,0,0};for(i=0;i<3;i++)gets(a[i]);for(i=0;i<3;i++){len=strlen(a[i]);for(j=0;j{if(a[i][j]>='a'&&a[i][j]<='z')num[0]++;elseif(a[i][j]>='A'&&a[i][j]<='Z')num[1]++;elseif(a[i][j]=='')num[2]++;elseif(a[i][j]>='1'&&a[i][j]<='9')num[3]++;elsenum[4]++;}}printf("英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n",num[0],num[1],num[2],num[3],num[4]);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序9】打印以下图案 51Testing软件测试网_g_x_yc_u_aH_t_F* * * * * _Y'D(M_s_Y'Y0 * * * * * _Y+P_Q_l_xI&Q_i__8n0 * * * * * 51Testing软件测试网:j+w+v8Sr * * * * * 51Testing软件测试网5{_~$tD/s_} * * * * * _v_?_b_F_F'd_j0#include#defineN5intmain(){inti,j;for(i=0;i{for(j=0;jprintf("");for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
temp=a[i];
a[i]=a[N-i-1];
a[N-i-1]=temp;
printf("\nsortedarray:
for(i=0;iprintf("%4d",a[i]);printf("\n");return1;}1Q_r_P_^,j_R_C_D_C0#],?'e_O_G/M+f_\9B051Testing软件测试网;S$p-]$ai【程序6】_W?#A_t0u_P+D0打印出以下杨辉三角形(要求打印出10行)。 _x_W"`_](d01 51Testing软件测试网]2t_kO;^1 1 &D_z8H;q_]_A6A6k%A,]*|.|01 2 1 51Testing软件测试网2Q_X`V_z_a_u4b1 3 3 1 51Testing软件测试网_Qj_M+@_qd1Q_q1 4 6 4 1 51Testing软件测试网_A_Y_{M_D_U(`_Q1 5 10 10 5 1&~9t_S`6YWW~0#includevoidmain(){intn,i;inta[10],b[10];a[0]=1;a[1]=1;printf("%-4d\n",a[0]);printf("%-4d%-4d\n",a[0],a[1]);for(n=3;n<=10;n++){b[0]=1;for(i=1;ib[i]=a[i-1]+a[i];b[n-1]=1;for(i=0;i{printf("%-4d",b[i]);a[i]=b[i];}printf("\n");}};r.v_X_M_F3F_L.D_P_X_p0【程序7】有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中,则打印出"无此数"51Testing软件测试网+V_~_e_C7j_p_T5S_i#i#includeintmain(){inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};intw,l,m,h;printf("pleaseentersearchnumber:");scanf("%d",&w);for(l=0,h=14;;){m=(l+h)/2;if(w==a[m])break;if(w>a[m])l=m+1;if(wh=m-1;if(l>h)break;}if(l>h)printf("无此数\n");if(w==a[m])printf("itisat%d\n",m+1);return1;}【程序8】有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。"w:G_mT_P7u0#include#includeintmain(){chara[3][81];inti,j,len;intnum[5]={0,0,0,0,0};for(i=0;i<3;i++)gets(a[i]);for(i=0;i<3;i++){len=strlen(a[i]);for(j=0;j{if(a[i][j]>='a'&&a[i][j]<='z')num[0]++;elseif(a[i][j]>='A'&&a[i][j]<='Z')num[1]++;elseif(a[i][j]=='')num[2]++;elseif(a[i][j]>='1'&&a[i][j]<='9')num[3]++;elsenum[4]++;}}printf("英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n",num[0],num[1],num[2],num[3],num[4]);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序9】打印以下图案 51Testing软件测试网_g_x_yc_u_aH_t_F* * * * * _Y'D(M_s_Y'Y0 * * * * * _Y+P_Q_l_xI&Q_i__8n0 * * * * * 51Testing软件测试网:j+w+v8Sr * * * * * 51Testing软件测试网5{_~$tD/s_} * * * * * _v_?_b_F_F'd_j0#include#defineN5intmain(){inti,j;for(i=0;i{for(j=0;jprintf("");for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
1Q_r_P_^,j_R_C_D_C0
#],?
'e_O_G/M+f_\9B051Testing软件测试网;S$p-]$ai【程序6】
_W?
#A_t0u_P+D0打印出以下杨辉三角形(要求打印出10行)。
_x_W"`_](d01 51Testing软件测试网]2t_kO;^
1 1
&D_z8H;q_]_A6A6k%A,]*|.|01 2 1 51Testing软件测试网2Q_X`V_z_a_u4b
1 3 3 1 51Testing软件测试网_Qj_M+@_qd1Q_q
1 4 6 4 1 51Testing软件测试网_A_Y_{M_D_U(`_Q
1 5 10 10 5 1
&~9t_S`6YWW~0#include
intn,i;
inta[10],b[10];
a[0]=1;
a[1]=1;
printf("%-4d\n",a[0]);
printf("%-4d%-4d\n",a[0],a[1]);
for(n=3;n<=10;n++)
b[0]=1;
for(i=1;ib[i]=a[i-1]+a[i];b[n-1]=1;for(i=0;i{printf("%-4d",b[i]);a[i]=b[i];}printf("\n");}};r.v_X_M_F3F_L.D_P_X_p0【程序7】有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中,则打印出"无此数"51Testing软件测试网+V_~_e_C7j_p_T5S_i#i#includeintmain(){inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};intw,l,m,h;printf("pleaseentersearchnumber:");scanf("%d",&w);for(l=0,h=14;;){m=(l+h)/2;if(w==a[m])break;if(w>a[m])l=m+1;if(wh=m-1;if(l>h)break;}if(l>h)printf("无此数\n");if(w==a[m])printf("itisat%d\n",m+1);return1;}【程序8】有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。"w:G_mT_P7u0#include#includeintmain(){chara[3][81];inti,j,len;intnum[5]={0,0,0,0,0};for(i=0;i<3;i++)gets(a[i]);for(i=0;i<3;i++){len=strlen(a[i]);for(j=0;j{if(a[i][j]>='a'&&a[i][j]<='z')num[0]++;elseif(a[i][j]>='A'&&a[i][j]<='Z')num[1]++;elseif(a[i][j]=='')num[2]++;elseif(a[i][j]>='1'&&a[i][j]<='9')num[3]++;elsenum[4]++;}}printf("英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n",num[0],num[1],num[2],num[3],num[4]);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序9】打印以下图案 51Testing软件测试网_g_x_yc_u_aH_t_F* * * * * _Y'D(M_s_Y'Y0 * * * * * _Y+P_Q_l_xI&Q_i__8n0 * * * * * 51Testing软件测试网:j+w+v8Sr * * * * * 51Testing软件测试网5{_~$tD/s_} * * * * * _v_?_b_F_F'd_j0#include#defineN5intmain(){inti,j;for(i=0;i{for(j=0;jprintf("");for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
b[i]=a[i-1]+a[i];
b[n-1]=1;
for(i=0;i{printf("%-4d",b[i]);a[i]=b[i];}printf("\n");}};r.v_X_M_F3F_L.D_P_X_p0【程序7】有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中,则打印出"无此数"51Testing软件测试网+V_~_e_C7j_p_T5S_i#i#includeintmain(){inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};intw,l,m,h;printf("pleaseentersearchnumber:");scanf("%d",&w);for(l=0,h=14;;){m=(l+h)/2;if(w==a[m])break;if(w>a[m])l=m+1;if(wh=m-1;if(l>h)break;}if(l>h)printf("无此数\n");if(w==a[m])printf("itisat%d\n",m+1);return1;}【程序8】有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。"w:G_mT_P7u0#include#includeintmain(){chara[3][81];inti,j,len;intnum[5]={0,0,0,0,0};for(i=0;i<3;i++)gets(a[i]);for(i=0;i<3;i++){len=strlen(a[i]);for(j=0;j{if(a[i][j]>='a'&&a[i][j]<='z')num[0]++;elseif(a[i][j]>='A'&&a[i][j]<='Z')num[1]++;elseif(a[i][j]=='')num[2]++;elseif(a[i][j]>='1'&&a[i][j]<='9')num[3]++;elsenum[4]++;}}printf("英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n",num[0],num[1],num[2],num[3],num[4]);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序9】打印以下图案 51Testing软件测试网_g_x_yc_u_aH_t_F* * * * * _Y'D(M_s_Y'Y0 * * * * * _Y+P_Q_l_xI&Q_i__8n0 * * * * * 51Testing软件测试网:j+w+v8Sr * * * * * 51Testing软件测试网5{_~$tD/s_} * * * * * _v_?_b_F_F'd_j0#include#defineN5intmain(){inti,j;for(i=0;i{for(j=0;jprintf("");for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
printf("%-4d",b[i]);
a[i]=b[i];
};r.v_X_M_F3F_L.D_P_X_p0
【程序7】
有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。
如果该数不在数组中,则打印出"无此数"51Testing软件测试网+V_~_e_C7j_p_T5S_i#i
inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};
intw,l,m,h;
printf("pleaseentersearchnumber:
");
scanf("%d",&w);
for(l=0,h=14;;)
m=(l+h)/2;
if(w==a[m])
break;
if(w>a[m])
l=m+1;
if(wh=m-1;if(l>h)break;}if(l>h)printf("无此数\n");if(w==a[m])printf("itisat%d\n",m+1);return1;}【程序8】有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。"w:G_mT_P7u0#include#includeintmain(){chara[3][81];inti,j,len;intnum[5]={0,0,0,0,0};for(i=0;i<3;i++)gets(a[i]);for(i=0;i<3;i++){len=strlen(a[i]);for(j=0;j{if(a[i][j]>='a'&&a[i][j]<='z')num[0]++;elseif(a[i][j]>='A'&&a[i][j]<='Z')num[1]++;elseif(a[i][j]=='')num[2]++;elseif(a[i][j]>='1'&&a[i][j]<='9')num[3]++;elsenum[4]++;}}printf("英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n",num[0],num[1],num[2],num[3],num[4]);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序9】打印以下图案 51Testing软件测试网_g_x_yc_u_aH_t_F* * * * * _Y'D(M_s_Y'Y0 * * * * * _Y+P_Q_l_xI&Q_i__8n0 * * * * * 51Testing软件测试网:j+w+v8Sr * * * * * 51Testing软件测试网5{_~$tD/s_} * * * * * _v_?_b_F_F'd_j0#include#defineN5intmain(){inti,j;for(i=0;i{for(j=0;jprintf("");for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
h=m-1;
if(l>h)
printf("无此数\n");
printf("itisat%d\n",m+1);
【程序8】
有一篇文章,共有3行文字,每行有个80字符。
要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。
"w:
G_mT_P7u0#include
chara[3][81];
inti,j,len;
intnum[5]={0,0,0,0,0};
gets(a[i]);
len=strlen(a[i]);
for(j=0;j{if(a[i][j]>='a'&&a[i][j]<='z')num[0]++;elseif(a[i][j]>='A'&&a[i][j]<='Z')num[1]++;elseif(a[i][j]=='')num[2]++;elseif(a[i][j]>='1'&&a[i][j]<='9')num[3]++;elsenum[4]++;}}printf("英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n",num[0],num[1],num[2],num[3],num[4]);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序9】打印以下图案 51Testing软件测试网_g_x_yc_u_aH_t_F* * * * * _Y'D(M_s_Y'Y0 * * * * * _Y+P_Q_l_xI&Q_i__8n0 * * * * * 51Testing软件测试网:j+w+v8Sr * * * * * 51Testing软件测试网5{_~$tD/s_} * * * * * _v_?_b_F_F'd_j0#include#defineN5intmain(){inti,j;for(i=0;i{for(j=0;jprintf("");for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
if(a[i][j]>='a'&&a[i][j]<='z')
num[0]++;
elseif(a[i][j]>='A'&&a[i][j]<='Z')
num[1]++;
elseif(a[i][j]=='')
num[2]++;
elseif(a[i][j]>='1'&&a[i][j]<='9')
num[3]++;
else
num[4]++;
printf("英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n",num[0],num[1],num[2],num[3],num[4]);
51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序9】
打印以下图案 51Testing软件测试网_g_x_yc_u_aH_t_F
* * * * *
_Y'D(M_s_Y'Y0 * * * * *
_Y+P_Q_l_x
I&Q_i__8n0 * * * * * 51Testing软件测试网:
j+w+v8Sr
* * * * * 51Testing软件测试网5{_~$tD/s_}
_v_?
_b_F_F'd_j0#include
for(i=0;i{for(j=0;jprintf("");for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
for(j=0;j
printf("");
for(j=0;jprintf("*");printf("\n");}return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】有一行电文译文下面规律译成密码: _K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_cB->Y b->y /[_E;^1Z:H0C->X c->x 51Testing软件测试网*~3Z_@!T-T_[_F… 51Testing软件测试网1P_Y_r!_2g"o_~A_`即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。51Testing软件测试网b){_hSs!e3ua/a#includeintmain(){inti;charstr1[100],str2[100];gets(str1);for(i=0;str1[i]!='\0';i++)if(str1[i]>='A'&&str1[i]<='Z')str2[i]=2*'A'+25-str1[i];/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/elseif(str1[i]>=97&&str1[i]<=122)str2[i]=2*'a'+25-str1[i];elsestr2[i]=str1[i];str2[i]='\0';printf("miwenis:%s\nyuanwenis:%s\n",str2,str1);return1;}51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
printf("*");
51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序10】
有一行电文译文下面规律译成密码:
_K'e4T5O-L)r_j0A->Z a->z 51Testing软件测试网_E7L7G_Q#N_c
B->Y b->y
/[_E;^1Z:
H0C->X c->x 51Testing软件测试网*~3Z_@!
T-T_[_F
… 51Testing软件测试网1P_Y_r!
_2g"o_~A_`
即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。
非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。
51Testing软件测试网b){_hSs!
e3ua/a
inti;charstr1[100],str2[100];
gets(str1);
for(i=0;str1[i]!
='\0';i++)
if(str1[i]>='A'&&str1[i]<='Z')
str2[i]=2*'A'+25-str1[i];
/*str1[i]表示第(str1[i]-'A'+1)个字母,变成(26-(str1[i]-'A'+1)+1)个字母,对应的ASCII是26-(str1[i]-'A'+1)+1+'A'-1=2*'A"+25-str1[i]*/
elseif(str1[i]>=97&&str1[i]<=122)
str2[i]=2*'a'+25-str1[i];
str2[i]=str1[i];
str2[i]='\0';
printf("miwenis:
%s\nyuanwenis:
%s\n",str2,str1);
51Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序11】
0n_B.D.r;Z0编一个程序,将两个字符串S1和S2比较,如果S1>S2,输出一个正数;S1=S2,输出0;S1不要用strcmp函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。 51Testing软件测试网'x_wU5{"b)~_Y#include#includeintmain(){intresult=0;inti=0;chara[20],b[20];gets(a);gets(b);while(a[i]!='\0'&&b[i]!='\0'){if(a[i]!=b[i]){result=a[i]-b[i];break;}i++;}if(a[i]=='\0'&&b[i]!='\0')result=-b[i];elseif(a[i]!='\0'&&b[i]=='\0')result=a[i];printf("返回值为%d\n",result);return1;}#Qc]_X.FK*UA04O;c0u;?_k,QM_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。 G-b4QT%N"P&{_s0#include#includevoidmain(){inti;chara[20];charb[20];gets(a);i=-1;do{i++;b[i]=a[i];}while(a[i]!='\0');printf("拷贝后为%s\n",b);}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g【程序13】从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。统计每个整数的个数。参考程序:#includeintmain(){inti,s[5]={0},x;printf("Inputsomenumbers(between0to4):");scanf("%d",&x);while(x!=-1){if(x>=0&&x<=4)s[x]++;scanf("%d",&x);}for(i=0;i<=4;i++)printf("%d:%d\n",i,s[i]);return1;}【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。试编程。参考程序:#include#includeintmain(){chara[80],b[80];inti=0,j;printf("Inputtwostrings:\n");gets(a);gets(b);while(a[i])i++;for(j=0;j<5&&b[j];j++)a[i++]=b[j];a[i]='\0';puts(a);return1;}【程序15】阿姆斯特朗数:如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。如407=43+03+73就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。程序分析:可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。程序源代码:#includeintmain(){inti,t,k,a[3];printf("therearefollowingArmstrongnumbersmallerthan1000:\n");for(i=2;i<1000;i++)//穷举要判定数的范围{for(t=0,k=1000;k>=10;t++){a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]k/=10;}if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)printf("%d",i);}return1;}
不要用strcmp函数。
两个字符串用gets函数读入。
输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。
例如,’A’与’C’相比,由于’A’<’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"-2"。
同理:
"And"和"Aid"比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"5"。
51Testing软件测试网'x_wU5{"b)~_Y
intresult=0;
inti=0;
chara[20],b[20];
gets(a);
gets(b);
while(a[i]!
='\0'&&b[i]!
='\0')
if(a[i]!
=b[i])
result=a[i]-b[i];
i++;
if(a[i]=='\0'&&b[i]!
result=-b[i];
elseif(a[i]!
='\0'&&b[i]=='\0')
result=a[i];
printf("返回值为%d\n",result);
}#Qc]_X.FK*UA0
4O;c0u;?
_k,Q
M_C;Q051Testing软件测试网,f*@_h_I_S_B4k_P9G*Z【程序12】
编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。
拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。
G-b4QT%N"P&{_s0#include
inti;
chara[20];
charb[20];
i=-1;
do
b[i]=a[i];
}while(a[i]!
='\0');
printf("拷贝后为%s\n",b);
}51Testing软件测试网T3P4H"J_v_j6Gm;Z_xh_g
【程序13】
从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。
统计每个整数的个数。
参考程序:
inti,s[5]={0},x;
printf("Inputsomenumbers(between0to4):
scanf("%d",&x);
while(x!
=-1)
if(x>=0&&x<=4)
s[x]++;
for(i=0;i<=4;i++)
printf("%d:
%d\n",i,s[i]);
【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;如果b的长度小于5,则把b的所有元素都连接到a中。
试编程。
chara[80],b[80];
inti=0,j;
printf("Inputtwostrings:
while(a[i])i++;
for(j=0;j<5&&b[j];j++)
a[i++]=b[j];
a[i]='\0';
puts(a);
【程序15】阿姆斯特朗数:
如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。
如407=43+03+73就是一个阿姆斯特朗数。
试编程求1000以内的所有阿姆斯特朗数。
程序分析:
可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。
inti,t,k,a[3];
printf("therearefollowingArmstrongnumbersmallerthan1000:
for(i=2;i<1000;i++)//穷举要判定数的范围
for(t=0,k=1000;k>=10;t++)
a[t]=(i%k)/(k/10);//截取整数的各位,分别赋于a[0]-a[2]
k/=10;
if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)
printf("%d",i);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1