① 關於c語言的兩個題目 有關統計字元 和二維數組的
第一題:
#include <stdio.h>
void main()
{
int a[3][4], i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
scanf("%d", &a[i][j]);
}
}
int max = a[0][0];
int row = 0;
int col = 0;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
if (max < a[i][j])
{
max = a[i][j];
row = i;
col = j;
}
}
}
printf("最大值:%d 行:%d 列:%d\n", max, row + 1, col + 1);
}
第二題:(用ctrl Z結束輸入)
#include <stdio.h>
#include <string.h>
void main()
{
char c;
int cletter=0;
int sletter = 0;
int number=0;
int space=0;
int other=0;
while((c=getchar())!=EOF)
{
if(c>='a'&&c<='z')
sletter++;
else if (c>='A'&&c<='Z')
cletter++;
else if(c>='0'&&c<='9')
number++;
else if(c==' ')
space++;
else
other++;
}
printf("大寫字母數:%d\n",cletter);
printf("小寫字母數:%d\n",sletter);
printf("數字數:%d\n",number);
printf("空格數:%d\n",space);
printf("其他字元數:%d\n",other);
}
② C語言中,求二維數組的每一行的和與平均值
#include<stdio.h>
#include<string.h>
intmain()
{
inti=0,j=0,total=0;
floatavr=0;
inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};
for(i=0;i<3;i++)
{
total=0;
for(j=0;j<3;j++)
{
total+=a[i][j];
}
avr=(float)(total/3.0);
printf("sum[%d]aver[%.2f] ",total,avr);
}
return0;
}
sum[6]aver[2.00]
sum[15]aver[5.00]
sum[24]aver[8.00]
Pressanykeytocontinue
③ C語言 二維數組
/***用二維數組保存學生成績****/
#include"stdio.h"
#define M 100
main()
{ int i,a[M][2],n,c=0,m=0,max,min;
printf("請輸入學生記錄數:");
scanf("%d",&n);
/*********輸入每個學生的成績保存在數組中*********/
for(i=0;i<n;i++)
{printf("請輸入第%d學生的記錄\n",i+1);
printf("請輸入語文成績:");
scanf("%d",&a[i][0]);
printf("請輸入數學成績:");
scanf("%d",&a[i][1]);
printf("\n"); }
/********各課總成績********************/
for(i=0;i<n;i++)
{c+=a[i][0];
m+=a[i][1];
}
printf("語文總成績:%d\n",c);
printf("數學總成績:%d\n",m);
printf("語文平均成績:%f\n",(float)(c)/n);
printf("數學平均成績:%f\n\n",(float)(m)/n);
/**********輸出成績單*********/
for(i=0;i<n;i++)
{printf("第%d個學生:語文成績%d 數學成績%d\n",i+1,a[i][0],a[i][1]);
}
getch();
}
④ c語言中 用函數計算二維數組每行之和以及每列之和 怎麼編程
你看的用吧···
#include <stdio.h>
int main()
{
int a[3][3]={1,2,3,4,5,6,7,8,9};
int i,j,s1,s2;
printf("請輸入行和列:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
s1=a[i][j]+s;
}
printf("每一列的和分別是:%d\n",s1);
}
printf("\n");
for(j=0;j<3;j++)
{
for(i=0;i<3;i++)
{
s2=a[j][i]+s2;
}
printf("每一行的和分別是:%d\n",s2);
}
}
⑤ 用C語言進行二維數組計數
#include<stdio.h>
void count(int x[100],int a[1000][10]){
int iA,iB;
for(iA=0; iA<100; iA++){
x[iA] = 0;
}//初始化
for(iA=0; iA<1000; iA++){
for(iB=0; iB<10; iB++){
if(a[iA][iB] >= 1 && a[iA][iB] <= 100){
x[a[iA][iB]-1] += 1;//x[?] 記錄 ?+1 出現的次數
}
}
}//遍歷數組
}
⑥ c語言求二維數組中所有元素的和
#include<stdio.h>
int main(void)
{
int ar[3][3]= { {1,2,3},
{4,5,6},
{7,8,9}
};
int num;
int i,j;
int k = 0,sum=0;
int (*ptr)[3];
ptr = ar;
num = sizeof(ar) / sizeof(ar[0]);
printf("num = %d ",num);
printf("%d ",*(*(ptr +0) + 1));
for(i = 0; i < 3 ;i++)
{
for(j = 0 ;j < 3; j++)
{
k += *(*(ptr + i)+j);
//sum += k;
}
}
printf("%d ",k);
return 0;
}
(6)c語言統計二維數組擴展閱讀:
main()函數用法:
大多數UNIX系統對main函數提供了三個參數,原型如下:
intmain(intargc,char*argv[],char*env[]);
其中第三個參數是環境表地址。
ANSIC規定main函數只有兩個參數,而且第三個參數與全局變數environ相比也沒有帶來更多益處,所以POSIX.1也規定應使用environ而不使用第三個參數。
通常用getenv和putenv函數來存取特定的環境變數,而不是用environ變數。
main函數的原型多是下面這種形式:
intmain(intargc,char*argv[]),參數argc代表了輸入參數的個數,char*argv[]表示傳入的參數的字元串,是一個字元串數組。
例如在linux平台下編寫一個小程序:
int main(intargc,char*argv[])
{
int i;
printf("argc:%d\n",argc);
for(i=0;i<argc;i++)
{
printf("argv[%d]:%s\n",i,argv[i]);
}
exit(0);
}
用gcc編譯後形成一個a.out的可執行的文件,運行a.out,其結果是:
argc=1,argv[0]=」a.out」
運行的程序的文件名,也佔用一個參數位置,也就是說argv數組中的第一個單元指向的字元串總是可執行程序的名字,以後的單元指向的字元串依次是程序調用時的參數。這個賦值過程是操作系統完成的,只需要拿來用就可以了。
在命令行參數的提交中,系統會自動給指針數組後加上一個NULL,所以for(i=0;i<argc;i++)這句也可以換成while(*argv!=NULL)
int main(intargc)省略其它參數的定義也是可以的,這樣運行時候argc就直接返回參數個數,而不返回其它。
運行命令行參數帶有char*argv[]的時候,如果輸入參數帶有空格,應該用雙引號括起來。
⑦ C語言統計二維字元數組里的字母個數怎麼做
#include<stdio.h>
intfun(charar[4][6],charc)
{
intcount=0,i,j;
for(i=0;i<4;++i)
for(j=0;j<6;++j)
if(ar[i][j]==c)
++count;
returncount;
}
intmain()
{
charc,a[4][6];
inti;
printf("輸入4行字元串到數組中: ");
for(i=0;i<4;i++)
gets(a[i]);
printf("輸入要統計的字元: ");
scanf("%c",&c);
printf("字元數:%d ",fun(a,c));
return0;
}
⑧ c語言中如何獲取一個二維數組的行列數
有兩種方式:
1 二維數組的行列數在定義的時候就是確定好的,所以編程人員是知道二維數組的大小以及行列數的。 所以可以直接使用行列數的值。
為方便維護,可以將行列數定義為宏,直接調用對應的宏名作為行列值。
2 動態獲取。
對於type array[A][B];形式的二維數組,可以通過計算sizeof獲取行列數。
sizeof(array[0][0])為一個元素佔用的空間,
sizeof(array[0])為一行元素佔用的空間,
sizeof(array)為整個數組佔用的空間,
於是:
行數 = sizeof(array)/sizeof(array[0]);
列數 = sizeof(array[0])/sizeof(array[0][0]);
⑨ 求C語言編程:調用函數計算二維數組所有元素的平均值
兩個for循環
記錄二維數組的總值
count+=array[i][j]
key記錄數組元素個數
key++;
最後
return
count/key
或:
double avg(int x[10][10])
{
int i,j,sum;
for(i=0;i<10;i++)
{
for(j=0;i<10;j++)
sum+=x[i][j];
}
return sum/((i+1)*(j+1));
}
(9)c語言統計二維數組擴展閱讀:
函數作為另一個函數調用的實際參數出現。這種情況是把該函數的返回值作為實參進行傳送,因此要求該函數必須是有返回值的。例如: printf("%d",max(x,y)); 即是把max調用的返回值又作為printf函數的實參來使用的。在函數調用中還應該注意的一個問題是求值順序的問題。
⑩ C語言作業 請編寫,統計3行4列二維數組中有多少個正數,多少個負數,多少個零,並返回
具體代碼如下:
void main()
{
int a[3][4]; //數組要先賦值才能進行比較
int i,j;
int count_a; //統計正數的個數
int count_b; //統計負數的個數
int count_c //統計零的個數
for(i=0;i<4;i++)
for(j=0;j<5;j++)
(
if(a[i][j]>0)
count_a++;
else if(a[i][j]<0)
count_b++;
else
count_c++;
}
printf("正數的個數是:%d/n",count_a);
printf("負數的個數是:%d/n",count_b);
printf("零的個數是:%d/n",count_c);
}
(10)c語言統計二維數組擴展閱讀:
二維數組在概念上是二維的,但在內存中是連續存放的;換句話說,二維數組的各個元素是相互挨著的,彼此之間沒有縫隙。線性內存中存放二維數組有兩種方式:
1、一種是按行排列, 即放完一行之後再放入第二行;
2、另一種是按列排列, 即放完一列之後再放入第二列。
在C語言中,二維數組是按行排列的。也就是先存放 a[0] 行,再存放 a[1] 行,最後存放 a[2] 行;每行中的 4 個元素也是依次存放。數組 a 為 int 類型,每個元素佔用 4 個位元組,整個數組共佔用 4×(3×4)=48 個位元組。