第一套真题
1.1从键盘输入一个字符串并保存在字符str1中,把字符串str1中下标为偶数的字符保存在字符串str2中并输出。
例如,当str1="cdefghij",则str2="cegi"。
#include<stdio.h> #include<conio.h> #define LEN 80 int main() { char str1[LEN],str2[LEN]; char *p1=str1,*p2=str2; int i=0,j=0;
printf("Enter the string:\n"); scanf( "%s",str1);//控制字符串的输入%s,字符串的首地址为str1. printf("the origial string\n"); while(*(p1+j)) { printf(" %c ",*(p1+j));//printf输出时%c。 j++; } for(i;i<j;i+=2) *p2++=*(str1+i); *p2='\0'; printf("\nThe new string is:%s\n",str2);// }
|
1.2 //在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。
//fun()的功能是计算数组元素中值为负数的平均值(不包括0)。
//例如:数组中元素的值依次为43,-47,-21,53,-8,12,0,则程序的运行结果为-25.333333。
#include <conio.h> #include <stdio.h> double fun(int x[ ]) { double sum=0.0; int c=0, i=0; /**********************found***********************/ while(x[i]!=0)//5 { if(x[i]<0) { sum=sum+x[i]; c++; } i++; } /**********************found***********************/
sum=sum/c;//5 return sum; }
main() { int x[1000]; int i=0; printf("\nPlease enter some data(end with 0) :"); do { scanf("%d",&x[i]); }while(x[i++]!=0); printf("%f\n",fun(x)); } |
1.3 1.3 fun(int *s,int t,int *k),用来求出数组的最小元素在数组中的下标并存放在k所指的存储单元中。
//例如,输入如下整数:
//234 345 753 134 436 458 100 321 135 760
//则输出结果为6,100。
#include <conio.h> #include <stdio.h> //int fun(int *s,int t,int *k) //{ int fun(int *s,int t,int *k) { int i; *k=0; /*k所指的数是数组的下标值*/ for(i=0;i<t;i++) if(s[*k]>s[i]) *k=i; /*找到数组的最小元素,把该元素的下标赋给k所指的数*/ return s[*k]; /*返回数组的最小元素*/ }
//} main() { int a[10]={234,345,753,134,436,458,100,321,135,760},k; fun(a, 10, &k); printf("%d, %d\n ", k, a[k]); } |