24、arr[i][j]);
}
printf("\n");
}
max=fun(arr);
printf("max=%d\n",max);
}
16、將字符數(shù)組s中的字符串,除了下標為偶數(shù)、同時ascii值也為偶數(shù)的字符
外,其余的全都刪除;申中剩余字符所形成的一個新用放在新的字符數(shù)組 t中.
#include
#include
void main()
{
char s[100], t[100];
int i,j=0,n;
printf("\n 輸入字符串S:");
gets(s);〃scanf("%s", s);
n=s
25、trlen(s);
for(i=0;i
#include
void fun(char *s,char t口)
{
int i,j=0,n;
n=strlen(s);
for(i=0;i
26、0';
}
void main()
{
char s[100], t[100];
printf("\nPlease enter string S:");
gets(s);〃scanf("%s", s);
fun(s, t);
printf("\nThe result is : %s\n", t);
}
17、假定輸入的字符串中只包含字母和*號。則使字符串中的*號不得多于3個;
若多于3個,則刪除多于的*號;若少于或等于3個,則什么也不做。
#include
#include
void main()
{
char str[50
27、],c[50],b;
int i,j,n,a[50]={0}Kl;
gets(str);
n=strlen(str);
for(l=0,j=0,i=0;i
28、…n!的值,其中,n值由鍵盤輸入。
#include void main()
{
int n;
int i=1,t=1,sum=0;
printf(" 輸入n的數(shù)值:");
scanf("%d",&n);
do
{ t=t*i; sum=sum+t;
i++;
}
while(i<=n);
printf("sum=%d\n",sum); }
19、編寫程序,刪除字符串中的所有空格。
#include
#include void main()
{
char str[100];
int i,j=0;
29、printf(" 輸入字符串:\n");
gets(str);
for(i=0;i void main() {
int fun(char a口,char ch);
char a[100],ch;
printf("\nPlease enter a string:");
gets(a);
p
30、rintf("\nPlease enter a char:");
ch=getchar();
printf("The number is:%d\n",fun(a,ch));
}
int fun(char a[],char ch)
{
int i,j=0;
for(i=0;a[i]!='\0';i++)
if(a[i]==ch)
j++;
return j;
}
#include
void main()
{
char a[100],ch;
int i,j=0;
printf(" 輸入字符串:");
gets(a);
printf("\n")
31、;
printf(" 輸入要查找的字符:");
ch=getchar();
for(i=0;a[i]!='\0';i++)
if(a[i]==ch)
j++;
printf("\n");
printf(" 字符串a中指定字符的個數(shù):%d\n",j);
}
21、輸入一行字符,分別統(tǒng)計出其中的大小寫字母、空格、數(shù)字和其他字符的個
數(shù)。
#include
void main()
{
int i=0,j=0,k=0,l=0;
char c;
printf(" 輸入一行字符:\n");
while((c=getchar())!='\n')
if((
32、c>='A'&&c<=Z)||(c>='a'&&c<='z')) i++; else if(c>='0'&&c<='9') j++; else if(c=='') k++; else l++;
}
printf(" 大小寫字母數(shù):i=%3d\n 數(shù)字數(shù):j=%3d\n 空格數(shù):k=%3d\n 其他符號
數(shù):l=%3d\n",i,j,k,l); }
22、將5行6列的二維數(shù)組中的數(shù)據(jù),按列的順序依次放到一個一維數(shù)組中。
#include
void main()
{
int a[5][6]={123,4,5,678,9,10,11,12,13,14,15,16,
33、17,18,19,20,
1,2,3,4,5,678,9,10};
int b[30];
int i,j,k=0;
for (j=0;j<6;j++)
{ for(i=0;i<5;i++) {
b[k++]=a[i][j];
}
}
printf(" 二維數(shù)組:\n");
for (i = 0; i < 5; i++)
{ for(j=0;j<6;j++) {
printf("%3d",a[i][j]);
} printf("\n");
}
printf("\n");
printf(" 一維數(shù)組:\n");
for (i= 0;i
34、tf(" %3d",b[i]);
}
printf("\n");
}
#include
void fun( int (*s)[4], int *b)
{
int i,j,k=0;
for(j=0;j<4;j++)
for(i=0;i<3;i++)
{
b[k]=*(*(s+i)+j);
k++;
}
b[k]= '\0';
}
main()
{
int a[30],w[3][4]={{123,4},{4,5,6,7},{6,7,8,9}};
int i,j;
printf(" 輸出數(shù)組 w:\n");
for(i=0; i<3; i
35、++)
{
for(j=0;j<4; j++)
printf("%3d",w[i][j]);
printf("\n");
}
fun(w,a);
printf(" 按列的順序依次放到一個一維數(shù)組 b: \n");
for(i=0;i<12;i++)
printf("%3d",a[i]);
printf("\n\n");
}
23、求兩個2X3和3X2的矩陣之積,并把結果顯示出來
#include
void main()
{
int a[2][3],b[3][2],c[2][2]={0},i,j,x;
printf(" 輸入一個2行3列的矩陣a
36、:\n");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
scanf("%d”,&a[i][j]);
printf("%5d",a[i][j]);
}
printf("\n");
}
printf(" 輸入一個3行2列的矩陣b:\n");
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
scanf("%d”,&b[i][j]);
printf("%5d",b[i][j]);
} printf("\n");
}
printf("a*b=:\n");
for(i=0;i<2;i++)
{
for
37、(j=0;j<2;j++)
{
for(x=0;x<3;x++)
c[i][j]+=a[i][x]*b[x][j];
printf("%5d",c[i][j]);
} printf("\n");
}
}
24、定義了一個6X6的二維數(shù)組,并進行初始化。將數(shù)組右上半三角元素中的 值乘以10。
#include
void fun(int a口[6]);
void main()
{
int i,j;
int a[6][6];
printf("array a:\n");
for(i=0;i<6;i++)
{
for(j=0;j<6;j++)
{
38、
a[i][j]=i+j+1;
printf("%3d",a[i][j]);
}printf("\n");
}
fun(a);
printf(" 經過處理后的數(shù)組元素 array a:\n");
for(i=0;i<6;i++)
for(j=0;j<6;j++)
{
printf("%5d",a[i][j]);
}
printf("\n");
}
}
void fun(int a口[6])
{
int i,j;
for(i=0;i<6;i++)
for(j=0;j<6;j++)
{
if(i
39、 void main() {
int i,j;
int a[6][6];
printf("array a:\n");
for(i=0;i<6;i++)
{
for(j=0;j<6;j++)
{
a[i][j]=i+j+1;
printf("%3d",a[i][j]);
}
printf("\n");
}
printf(" 經過處理后的數(shù)組元素 array a:\n");
for(i=0;i<6;i++) {
for(j=0;j<6;j++)
{
if(i
40、ntf("\n");
} }
25、編寫程序,實現(xiàn)矩陣(5行6歹I」)的轉置(即行列互換)。
#include
void main()
{
int i,j;
int
a[5][6]={{4,5,7,8,1,6},{846,5,1,5},{7,8,945,6},{123,4,5,6},{123,6,5,2}}
;
int b[6][5];
printf("array a:\n");
for(i=0;i<5;i++)
{
for(j=0;j<6;j++)
{
printf("%3d",a[i][j]);
b皿i]=a[i][j];
}
pri
41、ntf("\n");
}
printf("a 的轉置矩陣 array b:\n");
for(i=0;i<6;i++)
{
for(j=0;j<5;j++)
{
printf("%3d",b[i][j]);
} printf("\n"); } }
26、將兩個兩位數(shù)的正整數(shù)a,b合并成一個整數(shù)放在c中。合并的方式是:將a 數(shù)的十位和個位依次放在 c數(shù)的千位和十位上,b數(shù)的十位和個位數(shù)依次放在 c 數(shù)的百位和個位上。
#include
void main()
{
int a,b,c,i,j,k,l;
printf("輸入 a,b 的值:");
sc
42、anf("%d%d",&a,&b);
i=a/10;
j=a%10;
k=b/10;
l=b%10;
c=1000*i+k*100+j*10+l;
printf(" 兩個兩位數(shù)的正整數(shù) a,b合并成一個整數(shù)為: c=%d\n",c);
}
27、編寫一個函數(shù)fun,它的功能是:實現(xiàn)兩個字符串的連接 (不使用庫函數(shù)
strcat),即把p2所指的字符串連接到pl所指的字符串后。主函數(shù)中僅僅輸入 和輸出。
#include
#include
int fun(char a口,char b口) {
int i=0,j=0;
while(
43、a[i++]!='\0');
i--;
while((a[i++]=b[j++])!='\0');
return (a[i]);
}
int main() { char a[100],b[100];
printf(" 請輸入一串字符 a:");
gets(a);
printf("\n");
printf(" 請再輸入一串字符 b:");
gets(b);
printf("\n");
fun(a,b);
printf(" 新字符串為:");
puts(a); printf("\n");
}
28、請編寫函數(shù)fun,該函數(shù)的功能是:實現(xiàn)b=a+a1即把矩陣a加上a的
44、轉置, 存放在矩陣b中。計算結果在main函數(shù)中輸出(a為一個3行3列的整型數(shù)組),
#include
void fun( int a[3][3], int b[3][3]) {
int i,j, at[3][3];
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
at皿]=a皿i];
for(i=0;i<3;i++)
for(j=0;j<3;j++) b[i][j]=a[i][j]+at[i][j];
}
main()
{
int a[3][3]={{1,2, 3}, {4, 5, 6}, {7, 8, 9}}, t[3][
45、3];
int i, j,at[3][3];
printf(" 輸出一個 3*3 的矩陣 a:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%5d",a[i][j]);
at[i][j]=a[j][i];
}
printf("\n");
}
printf(" 輸出a的轉置矩陣at:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%5d",at[i][j]);
}
printf("\n");
}
printf("\n a+at=\n");
46、fun(a, t);
for (i = 0 ; i < 3 ; i++)
{
for (j = 0 ; j < 3 ; j++) printf("%7d", t[i][j]);
printf("\n");
}
}
29、依次輸出200以內(包含200)能被5整除但不能被15整除的自然數(shù)。
#include
void main()
int i;
for(i=1;i<=200;i++)
{
if(i%5==0&&i%15!=0) printf("i=%d\n",i);
}
}
30、編寫函數(shù)fun,該函數(shù)的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只
47、剩 一個。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個數(shù)。
#include
int fun(int a[],int n)
{
int i,j;
for(i=1,j=0;i
48、&a[i]);
printf(" 刪除后數(shù)組中數(shù)據(jù):");
n=fun(a,n);
for(i=0;i
void f
49、un( int a[], int b[])
{
int i,j;
for(j=0;j<11;j++)
b[j]=0;
for(i=0;i<30;i++)
if(a[i]>=0&&a[i]<=9)
b[0]+=1;
else
if(a[i]>=10&&a[i]<=19)
b[1]+=1;
else
if(a[i]>=20&&a[i]<=29)
b[2]+=1;
else
if(a[i]>=30&&a[i]<=39)
b[3]+=1;
else
if(a[i]>=40&&a[i]<=49)
b[4]+=1;
else
if(a[i]>=50&&a[i]<=
50、59)
b[5]+=1;
else
if(a[i]>=60&&a[i]<=69)
b[6]+=1;
else
if(a[i]>=70&&a[i]<=79)
b[7]+=1;
else
if(a[i]>=80&&a[i]<=89)
b[8]+=1;
else
if(a[i]>=90&&a[i]<=99)
b[9]+=1;
else
b[10]+=1;
}
void main()
{
int i, d[11];
int age[30]={1,2,56,78,10,25,87,96,31,110,45,65,42,73,23,
118,90,1,10,23,
51、34,45,56,67,68,78,89,91,46,97};
printf(" 輸出30個年齡數(shù):\n");
for(i=0; i<30; i++)
printf("%4d",age[i]);
printf("\n\n");
printf(" 各年齡段的人數(shù)為:\n");
fun( age, d);
for(i=0;i<10;i++)
printf("%3d--%3d: %2d\n", i*10, i*10+9, d[i]);
printf("Over 100: %2d\n", d[10]);
}
#include
void main()
{
i
52、nt age[30],i,d[11]={0};
printf(" 輸入30個數(shù)據(jù):");
for(i=0;i<30;i++)
scanf("%d",&age[i]);
for(i=0;i<30;i++)
{
if(age[i]>99)
d[10]++;
else
d[age[i]/10]++;
}
printf(" 額度按人數(shù):\n");
for(i=0;i<11;i++)
printf("%3d",d[i]);
}
32、編寫函數(shù)fun,該函數(shù)的功能是:統(tǒng)計一行字符串中單詞的個數(shù),作為函數(shù) 值返回。一行字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫字母組成,單詞之間
53、由若干個空格格開,一行的開始沒有空格。
#include
#include
int fun(char *s)
{
int i=1,c=0;
while(s[i])
{
if(s[i]==''&&s[i-1]!='')
c++;
i++;
}
return c;
}
main()
{
char b[100];
int num=0;
printf("Enter a string :\n"); gets(b);
num=fun( b );
printf("The number of word is : %d\n\n",nu
54、m);
}
33、計算并輸出給定整數(shù)n的所有因子(不包括1與自身)之和。規(guī)定n的值不大 于1000 (n由鍵盤輸入)。
#include
void main()
{
int i,n,sum=0;
printf("請輸入:n=");
scanf("%d",&n);
while(n>1000)
{
printf(" 輸入錯誤,請重新輸入 :n=");
scanf("%d",&n);
}
for(i=2;i
55、下列級數(shù)和: s=1/1*2+1/2*3+ - +1/n(n+1)。
#include
void main()
{
float i,n,t,s=0;
printf(" 輸入n的數(shù)值:\n");
scanf("%f",&n);
for(i=1;i<=n;)
{
t=1/(i*(i+1));
s=s+t;
i++;
}
printf("s=%f\n",s);
35、將字符數(shù)組s中字符串中下標為偶數(shù)的字符刪除,并用字符串的形式輸出結 果。
#include
#include void main()
{
c
56、har str[100];
int i,j=0;
printf(" 輸入字符串:\n");
gets(str);
for(i=0;i
#include
void fun(char *s,char t口)
{
int i,j=0,n;
n=strlen(s);
for(i=0;i
57、j]=s[i];
j++;
} t[j]='\0'; } void main() { char s[100], t[100]; printf("\nPlease enter string S:"); gets(s);〃scanf("%s", s);
fun(s, t);
printf("\nThe result is : %s\n", t);
}
36、編程序:通過一個函數(shù)判斷字符串是否為回文 ?若是則函數(shù)返回1,主函數(shù)
中輸出yes,否則返回0,主函數(shù)中輸出no。回文是指順讀和倒讀都是一樣的字 符串。
#include void main()
{
ch
58、ar a[100];
printf(" 請輸入字符串:\n");
scanf("%s",a);
if(fun(a)==1) printf("Yes'n");
else printf("No'n");
}
int fun(char str[])
{int i,n;
n=strlen(str); //n 表示字符串中字符的個數(shù)
for(i=0; i<=n/2;i++)
{ if(str[i]!=str[n-i-1]) 〃 比較字符串中相對稱的字符是否相同
return 0;
}
return 1;
}
n 一一
37、編程實現(xiàn)由主函數(shù)輸入 成n并輸出最終結果,按下述
59、公式計算cm的值:
n m!
cm …
n!(m n)!,其中函數(shù)f的功能是計算階乘,函數(shù)g的功能是求cm的值。 #include
void main()
{
int g(int m, int n);
int m,n,c;
printf("輸入 m,n 的值:\n");
scanf("%d%d",&m,&n);
c=g(m,n);
printf("c=%d\n",c);
}
int g(m,n)
{
int f(n);
int b;
b=f(m)/f(n)/f(m-n);
return b;
}
int f(n)
{
int a=
60、1,i;
for(i=1;i<=n;i++)
a*=i;
return a;
}
38、編寫一個函數(shù)fun,它的功能是:將字符串a中所有下標為奇數(shù)位置上的字 母轉換為大寫(若該位置上不是字母,則不轉換)。主函數(shù)只能用來輸入輸出字符 用。
#include
#include
void fun ( char *a)
{
int i,n;
n=strlen(a);
for(i=1;i='a'&&a[i]<='z')
a[i]= a[i]-32;
}
void main()
{
char
61、b[81];
printf("\n 輸入一行字符串 a:\n");
gets( b);
fun( b );
printf( "\n 將字符串a中所有下標為奇數(shù)位置上的字母轉換為大寫 :\n%s\n", b );
}
39、計算并輸出給定數(shù)組(長度為5)中每相鄰兩個元素之平均值的平方根之和。
#include
#include
void main()
{
int i;
double s;
double a[5]={1,7,11,21,29};
for(i=0,s=0;i<4;i++)
{
s+=sqrt((a[i]+a[i+1
62、])/2);
}
printf(" 每相鄰兩個元素之平均值的平方根之和為: s=%f\n",s);
}
40、用指針方法編寫程序,輸入3個整數(shù),將它們按由小到大的順序排列輸出
#include
void main()
{
void fun(int *q1,int *q2,int *q3);
int a,b,c,*p1,*p2,*p3;
printf(" 請輸入a,b,c的數(shù)值:");
scanf("%d%d%d",&a,&b,&c);
p1=&a;
p2=&b;
p3=&c;
fun(p1,p2,p3);
printf("\n");
prin
63、tf(" 由小到大的順序排列為: %5d%5d%5d\n",a,b,c);
}
void fun(int *q1,int *q2,int *q3)
{
void swap(int *pt1,int *pt2);
if(*q1>*q2)
swap(q1,q2);
if(*q1>*q3)
swap(q1,q3);
if(*q2>*q3)
swap(q2,q3);
}
void swap(int *pt1,int *pt2)
{
int t;
t=*pt1;
*pt1=*pt2;
*pt2=t;
}
41、計算并輸出100(包括100)以內能被3或4整除的所有自
64、然數(shù)之和。
#include
void main()
{
int i,n=0,sum=0;
for(i=1;i<=100;i++)
{
if((i%3==0)||(i%4==0))
{
printf("i=%d ",i); n=n+1; sum=sum+i;
} if(n%10==0) printf("\n");
} printf("\n100 以內所有可以整除‘3'或'4'的自然數(shù)之和為:sum=%d\n",sum);
}
42、有一函數(shù)
x (x 1) y 2x 1 (1 x 10) 3x 11 (x 10)
用scanf函數(shù)輸入x的值,求y
65、值。
#include void main()
{
float x,y;
printf(" 請輸入x的數(shù)值:"); scanf("%f",&x);
if(x<1)
y=x; else if(x>=10) y=3*x-11; else
y=2*x-1; printf("y=%f\n",y);
}
43、輸入兩個正整數(shù)m和n,求它們的最大公約數(shù)和最小公倍數(shù)。
#include void main()
{ int m,n,i,s,j;
printf(" 請輸入 m,n的數(shù)值:");
scanf("%d%d",&m,&n); for(i=1
66、;i<=m&&i<=n;i++) { if(m%i==0&&n%i==0) s=i;
if(m>=n)
j=m;
else
j=n;
for(;!(j%m==0&&j%n==0);j++);
printf("\n 最大公Z勺數(shù)為:s=%4d\n最小公倍數(shù)為
}
44、求s=a+aa+aaa+??+aa???a之值,其中 a是一個數(shù)字,
#include
#include
void main()
{
int n,a,i=1,s,sum=0;
printf(" 輸入n,a的數(shù)值:");
scanf("%d,%d",&n,&a);
s=a;
while(i<=n)
{
sum=sum+s;
s=s+a*pow(10,i);
i++;
}
printf("sum=%d\n",sum);
}
45、輸出楊輝三角(要求輸出10行)。
#include
void main()
{
int a[10][10],i,j;
for(i=0;i<10;i++) {
for(j=0;j<=i;j+