改错题
(一)
1. Cmody.011.C,功能是:从字符串数组str1中取出ASCII码值为偶数且下标为偶数的字符依次存放到字符串t中。如:若str1所指的字符串为:4Az18c?Ge9a0z!
则t所指的字符串为:4z8z
注意:数组下标从0开始
#include
#include
#include
#include
void main()
{
char str1[100],t[200];
int i,j;
/**/ i=0;j=o;/**/
strcpy(str1,"4Az18c?Ge9a0z!");
for(i=0;i
{
/**/ if((str1[i]%2==0)&&(i%2!==0)) /**/
{t[j]=str1[i];j++;}
}
t[j]='\0';
printf("\nOriginal string :%s\n",str1);
printf("\nResult string :%s\n",t);
}
2.Cmody012.C,fun()功能:根据n,计算大于10的最小n个能被3整除的正整数的倒数之和。如:fun(8)=1/12+1/15+1/18+1/21+1/24+1/27+1/30+1/33=0.396
#include
#include
#include
#include
#define M 50
double fun(int n)
{
double y=0.0;
int i,j;j=0;
for(i=1;;i++){
/**/ if(i<>10)&&(i%3==0)) /**/
{ /**/ y+=1 1.0/i; /**/
j++;
}
if(j==n) break;
}
return y;
}
void main()
{
printf("fun(8)=%8.3lf\n",fun(8));
}
(二)
1. Cmody021.C,输出:
*
***
*****
*******
*********
#include
void main()
{
/**/int i; ,j; /**/
for(i=1;i<=5;i++){
for(j=1;j<=10-2*i;j++) printf(" ");
/**/ for(j=1;j<=5 2*i-1;j++) /**/
printf("*");
printf("\n");
}
}
2. Cmody022.C的功能是求解百元买百鸡问题:设一只公鸡2元,一只母鸡1元,一只小鸡0.5元。问一百元买一百只鸡,可以买母鸡,小鸡和公鸡?有多少种分配方案?
#include
#include
/**/ int fun();/**/
{
int hen,cock,chicken,n=0;
for(cock=0;cock<=50;cock+=1)
for(hen=0;hen<=100;hen=hen+1)
{ chicken=2*(100-hen-2*cock);
/**/ if(cock+hen+chicken===100) /**/
{n++; printf("%d-->hen:%d,cock:%d,chicken:%d\n",n,hen,cock,chicken);
if(n==20) getch();
}
}
return n;
}
void main()
{
printf("\nthe solution numbers is:%d\n",fun());
}
(三)
1.Cmody031.C,输入2个整数及一个运算符(+,-,*,/或%),进行相应运算后输出结果。
#include
#include
void main()
{int m,n,result,flag=0;
/**/ char ch , ; /**/
printf("Input an expression: ");
scanf("%d%c%d",&m,&ch,&n);
/**/ switch (ch) /**/
{case '+':result=m+n;break;
case '-':result=m-n;break;
case '*':result=m*n;break;
case '/':result=m/n;break;
case '%':result=m%n;break;
default: {printf("Error!\n");flag=1; }
}
if(!flag) printf("%d %c %d=%d\n",m,ch,n,result);
}
2.Cmody032.C,输出201~300间的所有素数,统计总个数。
#include
#include
int fun()
{
int m,i,k,n=0;
for(m=201;m<=300;m+=2)
{
k=sqrt(m);
for(i=2;i<=k;i++)
/**/ if(m/ %i==0) /**/
break;
/**/ if(i==k+1) /**/
{ printf("%-4d",m);
n++;
if(n%10==0) printf("\n");
}
}
return n;
}
void main()
{ printf("\nthe num of odd numbers between 201-300 is %d\n",fun());
}
(四)
1.Cmody041.C,统计输入字符串中小写英文字母的个数。
#include
#include
main()
{ char str1[128];
/**/ int i; ,len,sum=0; /**/
gets(str1);
len=strlen(str1);
for(i=0;i
/**/if(str1[i]>='a'|| &&str1[i]<='z') /**/
sum++;
}
printf("%d\n",sum);
}
2.Cmody042.C,将从键盘依次输入的M个整数逆序输出。
#include
#include
#define M 8
main()
{
int a[M],i;
printf("please input 8 nums:\n");
for(i=0;i
scanf("%d", /**/ &a[i] /**/);
printf("Inverse order is :\n");
/**/ for(i=M-1;i< >=0;i--) /**/
printf("%d ",a[i]);
printf("\n");
}
(五)
1. Ccomy051.C,统计输入字符串中大写字母个数。
#include
main()
{
/**/ char str1[100] /**/;
int i,len,sum=0;
printf("please input a string:\n");
scanf("%s",str1);
len=strlen(str1);
for(i=0;i
if(str1[i]>='A'&&str1[i]<='Z')
/**/ sum-- ++;/**/
}
printf("%d\n",sum);
}
2.输入M个整数,输出所有的偶数。
#include
#include
/**/ #include define M 5 /**/
main()
{
int a[M],i;
printf("please input 5 nums:");
for(i=0;i
scanf("%d",&a[i]);
printf("even nums:\n");
for(i=0;i
/**/ if(a[i]/ %2==0) /**/
printf("%d ",a[i]);
printf("\n");
}
(六)
1. Cmody061.C,将输入串中’0’~’8’转换成’1’~’9’,将’9’转换成’0’。
#include
#include
main()
{
char str1[128],str2[128];
int i,len;
gets(str1);
len=strlen(str1);
/**/ for(i=0;i> <len;i++) /**/
{
if(str1[i]>='0'&& str1[i]<='8')
str2[i]=str1[i]+1;
else if(str1[i]=='9')
str2[i]='0';
else str2[i]=str1[i];
}
/**/ str2[i]='\n 0';/**/
puts(str2);
}
2.Cmody062.C,实现将两个串“ABC”、“XYZ”连接一起,输出:ABCxyz。
#include
#include
void main()
{
char s1[12]="ABC",s2[]="xyz";
char *ps1=s1,*ps2;
/**/ ps2=NULL s2; /**/
/**/ while(*ps1= !=NULL '\0') /**/
ps1++;
while(*ps2) *(ps1++)=*(ps2++);
printf("%s\n",s1);
getch();
}
(七)
1. 程序Cmody071.c,其功能是从键盘输入三角形的三边长,求其面积,若三个边长不能构成三角形,则提示。
如 输入:6 9 11
输出:26.98
#include
#include
void main()
{
float a,b,c,s,area;
printf("Please input 3 numbers:\n");
/**/ scanf("%f%f%f",&a,&b,&c); /**/
/**/ if( a+b>c || && b+c>a || && a+c>b ) /**/
{
s = (a+b+c)/2;
area = sqrt(s*(s-a)*(s-b)*(s-c));
printf("area is %.2f\n",area);
}
else
printf("error.\n");
}
2. 程序Cmody072.c,其功能是求解百马百担问题。
有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马数可分别为多少?有多少种解决方案?
#include
#include
/**/ void int fun() /**/
{ int large,middle,small,n=0;
for( large=0;large<=33;large++ )
for( middle=0;middle<=50;middle++ )
{
small = 2*(100-3*large-2*middle);
/**/ if( large+middle+small==100 ) /**/
{
n++; printf("%d-->large:%d,middle:%d,small:%d\n",n,large,middle,small);
}
}
return n;
}
void main()
{
int num;
num = fun();
printf("\n There are %d solutions.\n",num);
}
(八)
1. 程序Cmody081.c,其功能是求一堆零件的总数(100到200之间)。
如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。
#include
void main()
{
int i;
/**/ for( i=100; i<200; i++ ); /**/
if((i-2)%4 == 0)
if( !((i-3)%7) )
if( i%9 == 5 )
/**/ printf("%d",&i); /**/
}
2. 程序Cmody082.c,其功能是交换两个变量的值。
如 输入: 2 3
输出: Original: a=2 b=3
Result: a=3 b=2
#include
/**/ void swap(int *p1,int *p2) /**/
{
int temp;
temp = *p1;
/**/ *p1 = *p2; /**/
*p2 = temp;
}
void main()
{
int a,b;
printf("please input 2 numbers:\n");
scanf("%d%d",&a,&b);
printf("\nOriginal: a=%d b=%d\n",a,b);
swap(&a,&b);
printf("\nResult: a=%d b=%d\n",a,b);
}
(九)
1. 程序Cmody091.C,其功能是计算1至100之间的奇数之和、偶数之和。
#include
void main()
{
int b,i;
/**/ int a=0,c=0; /**/
/**/ for( i=0, ;i<=100, ;i+=2 ) /**/
{
a+=i;
b=i+1;
c+=b;
}
printf("total of even numbers: %d\n",a);
printf("total of odd numbers: %d\n",c-101);
}
2. 程序Cmody092.C的功能是求满足等式xyz+yzz=520的x,y,z值(其中xyz和yzz分别表示一个三位数)。
#include
void main()
{
int x,y,z,i,result=520;
for( x=1;x<10;x++ )
for( y=1;y<10;y++ )
/**/ for( z=1 0;z<10;z++ ) /**/
{
i=100*x+10*y+z+100*y+10*z+z;
/**/ if (i==result) /**/
printf("x=%d,y=%d,z=%d\n",x,y,z);
}
}
本文来源:https://www.2haoxitong.net/k/doc/eac0718d591b6bd97f192279168884868762b8fe.html
文档为doc格式