A. c语言编程实现二维数组确定一个数的位置
1 方法:通过嵌套的两个for循环来遍历二维数组
2 代码
#include<stdio.h>
voidFind(intnum,intarr[3][2],introw,intcol){
for(inti=0;i<row;i++){
for(intj=0;j<col;j++){
if(arr[i][j]==num){
printf("找到了,行列下标为(%d,%d) ",i,j);
return;
}
}
}
puts("没找到");
}
intmain(){
intarr[3][2]={{1,2},{3,4},{5,6}};
intnum;
scanf("%d",&num);
Find(num,arr,3,2);
getchar();
getchar();
return0;
}
3 运行效果
B. C语言编写程序,关于二维数组的
#include<stdio.h>
void main()
{
int i,j;
int a[3][3];
printf("请逐行输入矩阵:");
for(i=0;i<3;i++)
{
printf("第%d行:\n",i+1);
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(i==1||j==1)
printf("%d",a[i][j]);
else
printf(" ");
}
printf("\n");
}
}
C. c语言编写程序,把下面的数据输入到一个二维数组中:
第二列和第三行?是第二行和第三行吗
#include<stdio.h>
#include<stdlib.h>
void main()
{
int i,j;
double a[4][4],b[4],c[4],d[4];
FILE *fp1;
if ((fp1=fopen("input1.txt","rb"))==NULL)
{
printf("file open error!\n");
exit(0);
}
else
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
fscanf(fp1,"%lf",&a[i][j]);
}
fclose (fp1);
for(i=0;i<4;i++)
{
if(i==2)
{
for(j=0;j<4;j++)
{
b[j]=a[i][j];
a[i][j]=a[0][j];
a[0][j]=b[j];
}
}
else
break;
}
for(i=0;i<4;i++)
{
if(i==2)
{
for(j=0;j<4;j++)
{
c[j]=a[i][j];
a[i][j]=a[1][j];
a[1][j]=c[j];
}
}
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("%.2lf\t",a[i][j]);
}
printf("\n");
}
}
D. C语言输出一个二维数组
输出-34一点也不奇怪,没输出-23443434就算你走运了!
改成这样就ok了
{int a[3]={1,2,3};
int i;
for(i=1;i<=3;i++)
{ a[i]=i;
printf("%d\t",a[i]);
}
getch();
}
E. C语言编程实现: 一个4行4列的二维数组
#include<stdio.h>
voidmain(){
inti,j,s=0,a[4][4];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
if(i==j)s+=a[i][j];
}
printf(" %d",s);
}
F. 用C语言编写该程序(二维数组)
其实这道题连数组都不用开,一定要用二维数组吗,这样空间复杂度会大
G. C语言编程题(有关二维数组的循环的)
#include <stdio.h>
main()
{
int a[10][5]; /*a表示10个学生的5门成绩*/
int i,j;
int sum,avg;
char b[5][10]={"课程1","课程2","课程3","课程4","课程5"};
for(i=0;i<10;i++){
printf("\n请输入第%d个学生的成绩 (%s)\n",i+1,b);
for(j=0;j<5;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<10;i++){
printf("第%d个学生的总分是:%d\n",i+1,zong(i,a));
}
for(i=0;i<5;i++){
printf("%s的平均分是%d\n",b[i],pingjun(a,i));
}
for(i=0;i<5;i++){
printf("%s课的最高分是%d,学生是第%d个\n",b[i],a[check(a,i)][i],check(a,i));
}
getch();
}
int zong(int index,int x[10][5]){ /*计算index个学生的总分*/
int sum=0,j;
for(j=0;j<5;j++){
sum+=x[index][j];
}
return sum;
}
int pingjun(int x[10][5],int index){ /*计算第index门课程的平均分*/
int sum=0,i;
for(i=0;i<10;i++){
sum+=x[i][index];
}
return sum/10;
}
int check(int x[10][5],int index){ /*找其第index门课的最高分*/
int max,i,count;
max=x[0][index];
count=0;
for(i=0;i<10;i++){
if(max<=x[i][index]){
max=x[i][index];
count=i;
}
}
return count;
}
我有1年没有学C了,现在学的是java和jsp,所以还有一些印象,不知道对不对,你的第3问我是找的每门课程的最高分,不知道你问的是不是这样,要是问的所有分中的最高分,你比较5门就可以了
恩,我用win-tc写的,如果用vc,直接删除getch()就可以了