问几个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");
}

几道C语言的题,请大家帮帮忙帮我做一下,万分感谢。
4. 以下叙述正确的是(A)5. 以下叙述中正确的是(A)6.合法的C语言赋值语句是(B)7. 若变量已定义为int型,要给a,b,c输入的数据,正确的语句是(D)8. 设a、b和c都是int型变量,且a=3,b=4,c=5,则以下的表达式中值为0的表达式是 ( D )9.有以下程序: 程序的输出结果是A 10...

几个C语言问题
1. A语句,首先执行 b = 34 ,接着执行 a = b 语句本身无错误。B语句,实际上是一个表达式,但没有接收该值。C语句,实际上是一个表达式,但没有接收该值。2. 很明显, 029带0前缀而且无后缀。3. 100!结果溢出了。4. 常识性问题。

几道c语言题目 菜鸟望高手解答
第一道题:输出的是:0 1 3 4 \/\/因为for循环 i从0到4 但是当i等于2的时候执行了continue,也就是直接跳转到下一次循环,所以2没有输出 第二题:t为2 因为 if-else 结构中的else是和最近一个if相匹配的,又因为if(x<y)不成立,所以直接执行输出语句,即输出2 第三题:3 6 9 因为x被...

C语言题目求帮忙
a*=3,a=a*3=2*3=6 a+=6,a=a+6=6+6=12 a*=12,a=a*12=12*12=144 a-=144,a=a-144=144-144=0 结果为0 运行验证:结果无误。

有几道C语言题请大家帮我解答一下,各位哥哥姐姐帮帮忙啊!小弟感激不...
1. 变量名 2. 逗号表达式,其值取最后一项。78\/5 = 15(小数部分不要)3.选A,--x相当于x=x-1;4.321。求余运算 5.printf("格式控制", [输出参数1,...])scanf("格式控制", [&输入参数1,...])6.没题目

C语言练习题 各位帮帮忙做做 希望大家帮帮忙?
11. strcmp用来比较两个字符串的大小。 A. 错误 B. 正确 满分:2 分B 12. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 A. 错误 B. 正确 满分:2 分B 13. 一个函数中只允许有一条return语句。 A. 错误 B. 正确 满分:2 分A 14. 在C语言中,存储一个...

下面有一些关于C语言问题,希望大伙儿侃侃,最好解释详细,谢谢呢?
这是C语言的内存动态分配,不是很掌握,没有把握,希望其它好心人帮忙一下补齐.第七题:efgh 这道我简单说下,语言点太多,要是不明白,发消息给我,我就这题说详细.return s+strlen(s)\/2,返回的是一个指针,s指向首元素a,strlen(s)\/2=4,固返回的指针指向第五个元素e.主函数中的 printf打印从第...

C语言弱智问题! 请帮忙解答!1个小时之类!
1、a+b=c a,b,c是3个变量,做赋值操作 ;c=a+b \/\/只要abc都有定义并且ab都赋值了就可以 2、int x=31.123 \/\/double不能直接赋值给int 可以int x = (int)31.123或将小数点去掉 3、z=x÷y x、y、z均为float型 z=x\/y \/\/float\/float结果是double 所以z应定义为double 4、x=E-...

C语言试题啊,求大神帮忙答案啊!
C语言规定,函数返回值的类型是由( )所决定。选项:a、return语句中的表达式类型 b、调用该函数时的主调函数类型 c、调用该函数是系统临时指定 d、在定义该函数时所指定的函数类型 这个可以参考第二题,函数的定义规则,当然是由定义的时候确定的了。本题答案为d。题号:6 凡是函数中未指定存储类别的...

C语言编程题,急,请大家帮忙啊,不会的也试试啊,急
1.include"stdio.h"defineL100 defineU200 defineFACTOR5 voidmain(){inti;printf("%5d之间%5d不能被%5d蒸出的数如下:\\n",L,U,FACTOR);for(i=L;i<=U;i++)if(i%FACTOR)printf("%-4d",i);} 2.include"stdio.h"voidmain(){ intx[12]={2,45,67,12,3,9,76,45,23,42,6,5}...

相似回答