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()就可以了