### C语言-1 ```c /*--------------------------------------------------------- 【程序设计】程序将由数字字符组成的字符串转换为10进制实数, 例如将"123.4567"转换为123.45670。 输出如下: 123.45670 0.12345 4567.00000 ------------------------------------------------------------------------ 注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在 Program-End之间填入若干语句。不要删除标志否则不得分。 ---------------------------------------------------------*/ #include #include double conver(char s[]){ int I,i,poi; double F,p; F=I=i=poi=0; p=0.1; /**********Program**********/ while(s[i] != '.'){ I*=10; I+=s[i]-48; i++; } i++; while(s[i] != '\0'){ F+=(s[i]-48)*p; p*=0.1; i++; } /********** End **********/ return I+F; } int main() { char d[3][15]={"123.4567","0.12345","4567.0"}; int i; for(i=0;i<3;i++) printf("%12.5f\n",conver(d[i])); return 0; } ``` ### C语言-2 ```c /* ------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 打印以下图案: ***** ***** ***** ***** ***** */ #include void main() { int i =0 , j =0 , k=0; /**********Program**********/ for(i=0;i<5;i++){ for(j=0;j #include main() { float a,b,c,s,l; scanf("%f,%f,%f",&a , &b , &c); if(a+b #include main() { int i,j,k; for(i=-3;i<=3;i++) { /**********Program**********/ for(j=0;j #include /**********Program**********/ int fun(int *a, int n){ int min = a[0], i; for(i=1;i a[i]){ min = a[i]; } } return min; } /********** End **********/ main() { int a[10],i,min; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) printf("%3d",a[i]); printf("\n"); min=fun(a,10); printf("min=%d\n",min); } ``` ### C语言-6 ```c /*------------------------------------------------------------------------------ 【程序设计】编写函数rtrim,用来删除字符串尾部的空格,首部和中间的空格不删除。例如:字符串为:" A BC DEF ", 删除后的结果是" A BC DEF"。要求函数形参采用指针变量。 测试输入: A BC DEF 测试输出: A BC DEF 说明:测试输入中,A前有4个空格,F后有5个空格 ------------------------------------------------------------------------ 注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。 仅在Program-End之间填入若干语句。不要删除标志否则不得分。 ------------------------------------------------------------------------------*/ #include #include void main() { void rtrim(char *p); char s[100]; gets(s); rtrim(s); puts(s); } void rtrim(char *p) { int i; /**********Program**********/ while(*p != '\0'){ p++; } p--;//定位到结束符前的位置 while(*p==' '){//如果当前指针位置是空格则指针向前移 p--; } p++;//移动当前位置后一个空格位 *p='\0'; /********** End **********/ } ``` ### C语言-7 ```c /*------------------------------------------------------------------------------ 【程序设计】输入字符串(不包含空格),将字符串按字符从小到大排序,然后输出字符串中除去ASCII码值能被3整除的字符。 输入输出如下: hello world 处理后的字符串为: dehw ------------------------------------------------------------------------ 注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。 仅在Program-End之间填入若干语句。不要删除标志否则不得分。 ------------------------------------------------------------------------------*/ #include #include void main() { char str[100]; int n,i,j,t; gets(str); n=strlen(str); for(i=0;istr[j+1]) { t=str[j];str[j]=str[j+1];str[j+1]=t; } } printf("处理后的字符串为:"); /**********Program**********/ j=0; for(i=0;i int getsum(int m) { int i,s=0; /**********Program**********/ while(m){ s+=m%10; m/=10; } return s; /********** End **********/ } int main() { int n,sum; scanf("%d",&n); sum=getsum(n); printf("结果是%d\n",sum); } ``` ### C语言-9 ```c ``` ### C语言-10 ```c /*---------------------------------------------------------------------- 【程序设计】 ------------------------------------------------------------------------ 随机输入一字符串(不包含空格,长度不超过100),删除字符串中的数字字符后输出。 例输入:I will be 17 years old soon, and I will graduate from high school in June 2025 输出: 去掉数字后的字符串为:I will be years old soon, and I will graduate from high school in June ------------------------------------------------------------------------ 注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在 Program-End之间填入若干语句。 不要删除标志否则不得分。 不要修改或删除Program-End之外的内容否则不得分。 ----------------------------------------------------------------------*/ #include #include void main() { char a[100],b[100]; int l,i,j; gets(a); l=strlen(a); j=0; /**********Program**********/ for(i=0;i '9' || a[i] < '0'){ b[j++] = a[i]; } } /********** End **********/ b[j]='\0'; printf("去掉数字后的字符串为:"); puts(b); } ```