⑴ c語言用fprintf輸出一維數組
<p>你好!!</p>
<p>隨機數寫入文件的時候,也要採用循環寫入,你看看吧</p>
<p></p>
<p>程序的增加部分是,循環寫入;</p>
for(i=0;i<=9;i++)
{
fprintf(out,"%d ",p[i]);
}<p>下面是完整的代碼</p>
#include<stdio.h>
#include<stdlib.h>
int a,b,p[9],i;
FILE *in,*out;
int main()
{
unsigned int seed;
in=fopen("D:\\input.txt","r");
fscanf(in,"%d,%d",&a,&b);
seed=a;
srand(seed);
for(i=0;i<=9;i++)
{
p[i]=rand()%(b-a)+a;
printf("%d ",p[i]);
}
out=fopen("D:\\output.txt","w");
fprintf(out,"隨機數列為 ");
for(i=0;i<=9;i++)
{
fprintf(out,"%d ",p[i]);
}
}
⑵ C語言如何用printf列印數組問題
#include<stdio.h>//增加頭文件printf()用到
intmain()
{
inta[5]={1,2,3,8,9};
//printf("%d",a[5]);//a[5]表示數組a的第六個元素,越界了
//整型數組,不能一下子簡單輸出出來,必須用循環
inti;
for(i=0;i<5;i++)
printf("%d",a[i]);
printf(" ");
getch();
return0;
}
(2)c語言用循環列印一維數組擴展閱讀
包含需要輸出的數據,可以是常量(字元常量、數字常量、字元串常量),變數,以及運算式。此處的數據應當與前面的format中的格式控制符一一對應(如果不對應會產生錯誤)。 例如:
inta=1;
floatb=1.0;charstr[12]="HelloWorld";
printf("Thisisanexampleofprintf: ");printf("ais%d,bis%f,anda+b=%f",a,b,a+b);
printf("Iwanttosay,%s",str);⑶ C語言如何通過循環往一維數組里一個一個寫數據拜託各位了 3Q
沒太理解你的意思,不允許變數作下標只是不能動態改變數組的大小,和在數組中記錄元素沒直接關系。
int
arr[100];
for(int
i=0;i<100;++i)
{
arr[i]=i;
}
⑷ C語言循環輸出一維數組問題,求大神解答
for (i = 0; i < 5; i++); 這里的;去掉,否則循環空語句了。
⑸ c語言中 一維數組賦值輸出為什麼要用兩個for循環
第一個for循環是向數組存入數據,第二個是for循環是遍歷數組,取出並輸出數組裡面的數據
⑹ C語言編程,使用一維數組
#include "stdio.h"
int main(int argc,char *argv[]){
int a[30]={67,88,91,79,65,57,99,45,100,97,
78,76,53,61,69,59,93,94,90,80,
66,71,78,92,98,94,37,100,98,71},i,k;
for(k=i=0;i<30;i++)
if(a[i]>60)
k++;
printf("More than 60 points students is(are) %d people. ",k);
return 0;
}
代碼格式和運行樣例圖片:
⑺ 寫程序(C語言),使用指針實現列印一維數組所有元素的操作。
#include
void main()
{
int a[100],*p;
int n,t;/*你所要輸入數字的個數*/
p=a;
printf("please input number n:");
scanf("%d",&n);
t=n;
while (n--)scanf("%d",p++);/*以此輸入要輸入的數字*/
p=p-t;
for(int i=0;i
⑻ C語言一維數組中for的應用,執行過程詳細點!
#include<stdio.h>
intmain(void){
inti,a[10];
for(i=0;i<=9;i++)//i賦初值為0,然後每循環一次執行i++加1,直到i=9時,執行
//最後1次循環,返回這兒再加1,i=10,這時不滿足條件i<=9,
//退出循環
a[i]=i;
for(i=9;i>=0;i--)//i賦初值為9,開始循環,每次循環後,重新回到這兒
//執行i--,i每次減1,直到i=0,這時候執行最後一次循環,再
//回到循環語句這兒,再減1,得i=-1,不滿足循環條件i>=0,
//退出循環
printf("%d",a[i]);
return0;
}
⑼ c語言怎麼用數組for循環列印這個,求大佬告知
#include<stdio.h>
intmain()
{inti,j,max,a[11]={0,1,1,2,2,3,5,6,7,3,1};//已存放各分數段人數
max=a[0];
for(i=1;i<11;i++)
if(a[i]>max)max=a[i];
for(i=max+1;i>0;i--)
{for(j=0;j<11;j++)
printf(a[j]>=i?"*":"");
printf("
");
};
printf("----------------------------------------------
");
printf("0102030405060708090100
");
return0;
}
⑽ c語言一維數組
#include<stdio.h>
#include<malloc.h>
#include<string.h>
typedefchar*string;//字元串
//學生結構體
typedefstructStudent{
charname[16];//姓名
intid;//學號
floatgrade;//成績
structStudent*next;//下一個學生節點
}Student,*student;
//班級結構體
typedefstructClass{
studentlist;//學生列表
intnum;//學生人數
}Class,*class;
//創建一個新班級
classnewClass();
//銷毀一個班級
voiddestroyClass(classc);
//創建一個新學生
studentnewStudent(stringname,intid,floatgrade);
//向班級中加入一個學生
voidappend(classc,studentstu);
//統計不及格人數,並列印名單
voidshowNotPass(classc);
//統計全班平均分及以上的學生人數並列印名單
voidshowGreaterThanAvg(classc);
//統計各分數段的學生人數及所佔百分比
voidshowGradeRange(classc);
//輸出最高分及學號
voidshowFirst(classc);
//輸出班裡的所有成員
voidoutput(classc);
intmain(){
charname[16];
intid;
floatgrade;
classmyClass=newClass();//創建一個班級
printf("輸入學生信息 ");
puts("姓名 學號 成績");
while(~scanf("%s%d%f",name,&id,&grade)&&grade>=0){//grade<0結束
append(myClass,newStudent(name,id,grade));//向班級中加入一名新學生
}
//不及格信息
showNotPass(myClass);
//超過平均分的信息
showGreaterThanAvg(myClass);
//區間信息
showGradeRange(myClass);
//第一名
showFirst(myClass);
return0;
}
//創建一個新班級
classnewClass(){
classtmp=(class)malloc(sizeof(Class));
tmp->num=0;
tmp->list=NULL;
returntmp;
}
//銷毀一個班級
voiddestroyClass(classc){
if(c==NULL)return;
studentlist=c->list;
studentnext=NULL;
while(list!=NULL){
next=list->next;
free(list);//釋放當前節點
list=next;
}
free(c);
c=NULL;
}
//創建一個新學生
studentnewStudent(stringname,intid,floatgrade){
studenttmp=(student)malloc(sizeof(Student));
strcpy(tmp->name,name);
tmp->id=id;
tmp->grade=grade;
tmp->next=NULL;
returntmp;
}
//向班級中加入一個學生
voidappend(classc,studentstu){
if(c==NULL||stu==NULL)return;
stu->next=c->list;
c->list=stu;
c->num++;
}
//統計不及格人數,並列印名單
voidshowNotPass(classc){
if(c==NULL)return;
classtmpClass=newClass();
studenttmp=c->list;
for(;tmp!=NULL;tmp=tmp->next){
if(tmp->grade<60){
studenttmpStu=(student)malloc(sizeof(Student));
memcpy(tmpStu,tmp,sizeof(Student));
append(tmpClass,tmpStu);
}
}
printf("不及格人數:%d ",tmpClass->num);
output(tmpClass);
destroyClass(tmpClass);
}
//統計全班平均分及以上的學生人數並列印名單
voidshowGreaterThanAvg(classc){
if(c==NULL||c->num==0){
puts("班級沒有人");
return;
}
studenttmp=c->list;
floatsum=0;
for(;tmp!=NULL;tmp=tmp->next){
sum+=tmp->grade;
}//統計總分
floatavg=sum/c->num;//平均分
classtmpClass=newClass();
for(tmp=c->list;tmp!=NULL;tmp=tmp->next){
if(tmp->grade>=avg){
studenttmpNode=(student)malloc(sizeof(Student));//一個臨時學生節點
memcpy(tmpNode,tmp,sizeof(Student));
append(tmpClass,tmpNode);
}
}
printf("平均分及以上的學生人數為:%d ",tmpClass->num);
output(tmpClass);
destroyClass(tmpClass);
}
//統計各分數段的學生人數及所佔百分比
voidshowGradeRange(classc){
if(c==NULL){
puts("班級沒有人");
return;
}
inti;
classcontainer[10];
for(i=0;i<10;i++){//初始化分數段班級容器
container[i]=newClass();
}
studenttmp=c->list;
for(;tmp!=NULL;tmp=tmp->next){
intindex=(int)tmp->grade%10;//區間
if(index>9)index=9;//大於90的算成一個區間
studenttmpStu=(student)malloc(sizeof(Student));
memcpy(tmpStu,tmp,sizeof(Student));
append(container[index],tmpStu);
}
for(i=0;i<10;i++){
intnum=container[i]->num;
printf("%d~%d的人數:%d,佔比:%.6g%% ",i*10,(i+1)*10,num,(float)(num*100)/c->num);
destroyClass(container[i]);
}
puts("");
}
//輸出最高分及學號
voidshowFirst(classc){
if(c==NULL||c->list==NULL)return;
studentmax=c->list;
studenttmp=max->next;
for(;tmp!=NULL;tmp=tmp->next){
if(tmp->grade>max->grade)max=tmp;
}
printf("最高分:%.2g,學號:%d ",max->grade,max->id);
}
voidoutput(classc){
if(c==NULL)return;
puts("名單:");
studenttmp=c->list;
for(;tmp!=NULL;tmp=tmp->next){
printf("%s ",tmp->name);
}
puts("");
}
代碼有點長....