问几个C语言的题,请大家帮帮忙

快考试了,问几个C语言的题,请大家帮帮忙,谢谢大家了.要求能运行出来.
32、求出4*4阶矩阵的最小值及其所在的位置。
33、建立一个二维数组,主对角线上的元素均为9,其余为0。
34、将一个字符串逆置后接到原串的后面。
35、将字符数组a中的字符串复制到字符数组b,不允许使用字符串复制函数。
36、将字符数组a中的字符串中的每个字符按加4的方法加密到字符数组b,输出数组a与数组b中的字符串。
37、输入一个字符串,输出每个大写英文字母出现的次数。
38、有五个学生,每个学生有四门课程,将有不及格课程的学生成绩输出。
39、用选择排序法对一维整型数组中的十个数升序排序。
40、用起泡排序法对一维整型数组中的十个数升序排序。

32、求出4*4阶矩阵的最小值及其所在的位置。
#include <stdio.h>
int main()
{
int a[4][4],i,j,mi,mj,min;

for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);

mi=mj=0;
min=a[0][0];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(a[i][j]<min)
{
mi=i;mj=j;
min=a[i][j];
}
printf("min=%d,mi=%d,mj=%d\n", min,mi,mj);
return 0;
}

33、建立一个二维数组,主对角线上的元素均为9,其余为0。
#include <stdio.h>
int main()
{
int a[4][4],i,j;

for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(i==j) a[i][j]=9;
else a[i][j]=0;

for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}

34、将一个字符串逆置后接到原串的后面。
#include <stdio.h>

int main()
{
char a[200],*p,*q;

gets(a);
for(p=a;*p!=0;p++);
for(q=p;q>a;p++,q--)
*p=*(q-1);
*p=0;
puts(a);
return 0;
}

35、将字符数组a中的字符串复制到字符数组b,不允许使用字符串复制函数。
#include <stdio.h>
int main()
{
char a[100],b[100];
int i;

gets(a);
for(i=0;a[i]!=0;i++)
b[i]=a[i];
b[i]=0;
puts(b);
return 0;
}

36、将字符数组a中的字符串中的每个字符按加4的方法加密到字符数组b,输出数组a与数组b中的字符串。
#include <stdio.h>
int main()
{

char a[100],b[100];
int i;

gets(a);
for(i=0;a[i]!=0;i++)
b[i]=a[i]+4;
b[i]=0;
puts(a);
puts(b);
return 0;
}

37、输入一个字符串,输出每个大写英文字母出现的次数。
#include <stdio.h>
int main()
{
char a[100];
int n[26]={0},i;

gets(a);
for(i=0;a[i]!=0;i++)
if(a[i]<='Z'&&a[i]>='A')
n[a[i]-'A']++;
for(i=0;i<26;i++)
printf("%d ",n[i]);
return 0;
}

38、有五个学生,每个学生有四门课程,将有不及格课程的学生成绩输出。
#include <stdio.h>
int main()
{
int a[5][4],i,j,b;

for(i=0;i<5;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<5;i++)
{
b=1;
for(j=0;j<4;j++)
if(a[i][j]<60)
{
b=0;
break;
}
if(b==0)
{
for(j=0;j<4;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}

39、用选择排序法对一维整型数组中的十个数升序排序。
#include <stdio.h>
int main()
{
int a[10],i,j,m,t;

for(i=0;i<10;i++)
scanf("%d",&a[i]);

for(i=0;i<10;i++)
{
m=i;
for(j=i;j<10;j++)
if(a[m]>a[j])
m=j;
t=a[m];
a[m]=a[i];
a[i]=t;
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}

40、用起泡排序法对一维整型数组中的十个数升序排序。
#include <stdio.h>
int main()
{
int a[10],i,j,t;

for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=10-1;j>i;j--)
if(a[j]<a[j-1])
{
t=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-12-29
是考试复习题吧,您可够懒的了。给出一些简化的答案吧。
32.
#include <stdio.h>
int mat[4][4];
void main()
{
int min, i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if (mat[i][j]<min)
min=mat[i][j];
printf("%d", min);
}

33.
void main()
{
int mat[10][10], i;
memset(mat, 0, sizeof(mat));
for (i=0;i<10;i++)
mat[i][i] = 9;
}

34.
char a[50], b[50];
strcat(a, strrev(strdup(b));

35.
int i,j;
for (i=0;a[i];i++)
b[i]=a[i];

36.
int i,j;
for (i=0;a[i];i++)
b[i]=a[i]+4;
puts(a);
puts(b);

37.
char s[50];
int i, count[26];
memset(count, 0, sizeof(count));
scanf("%s", &s);
for (i=0;s[i];i++)
if (s[i]>='A' && s[i]<='Z')
count[s[i]-'A']++;
for (i=0;i<26;i++)
printf("%c %d\n", 'A'+i, count[i]);

38,39,40太麻烦了。不想写了。
第2个回答  2008-12-29
呵呵,我考试的时候怎么没想着上网上让大家帮帮忙?唉!
第3个回答  2008-12-29
32:main()
{
int a[4][4];
int min,m,n;
printf("输入矩阵\n");
for (int i=0;i<4;i++)
for (int j=0;j<4;j++)
scanf("%d",&a[i][j]);
min=a[0][0];
for (int i=0;i<4;i++)
for (int j=0;j<4;j++)
if(min>a[i][j])
{
min=a[i][j];
m=i;
n=j;
}
printf("min=%d, i=%d, j=%d",min,m,n);
}
33:直接定义了4*4阶矩阵
main()
{
int a[4][4];
for (int i=0;i<4;i++)
for (int j=0;j<4;j++)
if(i+j==3)
a[i][j]=9;
else
a[i][j]=0;
for (int i=0;i<4;i++)
for (int j=0;j<4;j++)
printf("%d ",a[i][j]);
}
34:
#include<stdio.h>
void fun(char *s,int n)
{
int i,str;
char b[40];
for(i=0;i<n;i++)
b[i]=s[n-i-1];
for(i=0;i<n;i++)
s[n+i-1]=b[i];
}
int main()
{
int i,n=0;
char arr[40];
printf("Please input char:\n");
i=0;
do
{
scanf("%c",&arr[i]);
n++;
i++;
}while(arr[i-1]!=10&&arr[i-1]!=12);
fun(arr,n);
for(i=0;i<=n;i++)
printf("%c",arr[i]);
printf("\n");
}
35:直接定义了a的字符串
void main()
{
char a[]={"hello"};
char *p,b[20];
int i = 0;
for(p=a; *p != '\0'; p++)
b[i++] = *p;
b[i] = '\0';
printf("%s",b);
}
36:直接定义了a的字符串
void main()
{
char a[]={"hello"};
char *p,b[20];
int i = 0;
for(p=a; *p != '\0'; p++)
b[i++] = *p+4;
b[i] = '\0';
printf("%s%s",a,b);
}
37:
main()
{
int i,n=0,count=0;
char arr[40];
printf("Please input char:\n");
i=0;
do
{
scanf("%c",&arr[i]);
n++;
i++;
}while(arr[i-1]!=10&&arr[i-1]!=12);
for(i=0;i<n;i++)
{
if((arr[i]>'A')&&(arr[i]<'Z'))
count++;
}
printf("%d",count);
}
38:
main()
{
int a[5][4];
for(int i=0;i<5;i++)
for(int j=0;j<4;j++)
scanf("%d",a[i][j]);
for(int i=0;i<5;i++)
for(int j=0;j<4;j++)
{
if(a[i][j]<60)
printf("%d",a[i][j])
}
}
39:
main()
{
int j;
int index;
int temp;
for (i=1; i<10; i++)
{
index=i;
for (j=i+1; j<11; j++)
if (num[j]<num[index])
index=j;
if (index!=i)
{
temp=num[i];
num[i]=num[index];
num[index]=temp;
}
}
for(i=1;i<11;i++)
printf("%d ",num[i]);
printf("\n");
}
40:
main()
{
int i,j,a[10],t;
for (i=0;i<10;i++)
scanf("%d",&a[i]);
for (i=0;i<9;i++)
for (j=i+1;j<10;j++)
if(a[i]>a[j])
{
t=a[j];
a[j]=a[i];
a[i]=t;
}
printf("the sort array value:");
for(i=0;i<10;i++)
printf("%d",a[i]);
}
好累啊,你自己调试下啊,有问题HI我
第4个回答  2008-12-29
#include "stdafx.h"
#include <stdio.h>
void bijiao(int a[10])
{
int i,j,min;

for(i=0;i<10;i++){
min=a[i];
for(j=i+1;j<10;j++){
if(min>a[j]){
min=a[j];
a[j]=a[i];
a[i]=min;
}

}
}
}
void main()
{
int i;
int a[10]={1,3,4,2,10,5,6,7,9,8};

for(i=0;i<10;i++){
printf("a[%d]=%d ",i,a[i]);
}
printf("\n");

bijiao(a);

for(i=0;i<10;i++){
printf("a[%d]=%d ",i,a[i]);
}
printf("\n");
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网