當前位置:首頁 » 編程語言 » c語言處理數據示例
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言處理數據示例

發布時間: 2022-12-15 16:51:52

c語言如何對數組中的數據進行處理

類似下面簡單處理下
#include"stdlib.h"
#include"stdio.h"
#include"string.h"

charrecord[100][5][16];
intcnt=0;
#defineIS_ALPHA(a)((a>='a'&&a<='z')||(a>='A'&&a<='Z')||(a>='0'&&a<='9')||(a=='_'))
char*get_record(char*str){
inti=0,j=0;
if(cnt>=100)returnNULL;
while(1){
if(IS_ALPHA(*str)){
if(j<15)
record[cnt][i][j++]=*str;
}
else{
if(j){
record[cnt][i][j++]=0;
j=0;
i++;
}
if(*str==0||i==5)break;
}
str++;
}
//addornot
if(i==5){
intn=cnt;
for(i=0;i<cnt;i++){
if(strcmp(record[i][0],record[cnt][0])==0&&
strcmp(record[i][1],record[cnt][1])==0){
if(atoi(record[i][4])<atoi(record[cnt][4])){
strcpy(record[i][4],record[cnt][4]);
}
n--;
break;
}
}
cnt=n+1;
}
return(*str?str:NULL);
}

voidprint_record(){
inti;
for(i=0;i<cnt;i++){
printf("%s%s%s%s%s ",
record[i][0],record[i][1],record[i][2],record[i][3],record[i][4]);
}
}

intmain(){
charstr[]="
DN100CDN_100123
DN100CDN_200216
DN100CDN_100106
DN100CDN_300106
DN100CDN_300107
DN100CDN_200218";
char*s=str;
while(s=get_record(s)){}
print_record();
return0;
}

❷ c語言編寫學生成績處理

//給你個示例,僅供參考
#include<stdio.h>
#include<stdlib.h>

#defineNO_LEN11
#defineNAME_LEN9
#defineSTUDENT_NUM5
#defineTOP_THREE3

typedefstructstudent
{
charno[NO_LEN];
charname[NAME_LEN];
floata;
floatb;
floatc;
floatavg;
}ST;//st[STUDENT_NUM];

intget_student_info(ST*st,intlen);
voiddisplay(constST*st,intlen);
voidcalculate_average(ST*st,intlen);
voidsort(ST*st,intlen);


intmain(intargc,char*argv[])
{
STst[STUDENT_NUM];

get_student_info(st,STUDENT_NUM);
calculate_average(st,STUDENT_NUM);
sort(st,STUDENT_NUM);

display(st,STUDENT_NUM);
display(st,TOP_THREE);


return0;
}

/*從鍵盤輸入STUDENT_NUM個學生的信息*/
intget_student_info(ST*st,intlen)
{
inti=0,ret=0;
if(0==st||0>=len||STUDENT_NUM<len)
{
printf("parametererror ");
returnret=1;
}

for(;i<len;++i)
{
printf("輸入第%d個學號、姓名、三門課成績:",i+1);
scanf("%10s%8s%f%f%f",st[i].no,st[i].name,&st[i].a,&st[i].b,&st[i].c);
}

returnret;
}

/*顯示前len個學生的信息*/
voiddisplay(constST*st,intlen)
{
inti=0;
if(0==st||0>=len||STUDENT_NUM<len)
{
printf("parametererror ");
return;
}

printf("================================== ");
for(;i<len;++i)
{
printf("%s%s%.1f%.1f%.1f%.1f ",
st[i].no,st[i].name,st[i].a,st[i].b,st[i].c,st[i].avg);
}
}

/*計算每個學生的平均成績*/
voidcalculate_average(ST*st,intlen)
{
inti=0;
if(0==st||0>=len||STUDENT_NUM<len)
{
printf("parametererror ");
return;
}

for(;i!=len;++i)
{
st[i].avg=(st[i].a+st[i].b+st[i].c)/3.0;
}
}

/*冒泡排序降序排列*/
voidsort(ST*st,intlen)
{
inti=0,j=0;
STtmp;
if(0==st||0>=len||STUDENT_NUM<len)
{
printf("parametererror ");
return;
}
for(;i<len-1;++i)
{
for(j=0;j<len-1-i;++j)
{
if(st[j].avg<st[j+1].avg)
{
tmp=st[j];
st[j]=st[j+1];
st[j+1]=tmp;
}
}
}
}

❸ C語言的基本數據類型和舉例!

C語言有五種基本數據類型:字元、整型、單精度實型、雙精度實型和空類型。盡管這幾種類型數據的長度和范圍隨處理器的類型和C語言編譯程序的實現而異,但以bit為例,整數與CPU字長相等,一個字元通常為一個位元組,浮點值的確切格式則根據實現而定

C語言還提供了幾種聚合類型(aggregate types),包括數組、指針、結構、共用體(聯合)、位域和枚舉

除v o i d類型外,基本類型的前面可以有各種修飾符。修飾符用來改變基本類型的意義,以便更准確地適應各種情況的需求。修飾符如下:
�6�1 signed(有符號)。
�6�1 unsigned(無符號)。
�6�1 long(長型符)。
�6�1 short(短型符)。修飾符s i g n e d、s h o r t、l o n g和u n s i g n e d適用於字元和整數兩種基本類型,而l o n g還可用於d o u b l e(注意,由於long float與d o u b l e意思相同,所以A N S I標准刪除了多餘的long float)。

❹ C語言編程:GPS數據處理

這是通過online judge測試的
#include<stdio.h>
#include <stdlib.h>
#include<string.h>
int check(char *);
void utc(char *);
char bjtime[7];
int main()
{
char a[200];
int f=0;
char *ptr;
do
{
scanf("%s",a);
if(strncmp("$GPRMC",a,6)==0)
{
ptr=a;
for(int i=0;i<2;i++){
ptr=strchr(ptr,',');
ptr++;
}
if (ptr[0]=='A' && check(a))
{
utc(a);
f=1;
}
}
}while(strcmp("END",a)!=0);
if (f) printf("%c%c:%c%c:%c%c",bjtime[0],bjtime[1],bjtime[2],bjtime[3],bjtime[4],bjtime[5]);
return 0;
}
int check(char *s)
{
char *ck,*str;
int i;
char m=s[1];
for(i=2;i<strlen(s)-3;i++)
m^=s[i];
int z=(int)m%65536;
printf("%0x",z);
ck=&s[strlen(s)-2];
int x=strtol(ck,&str,16);
if(x==z) return 1;
else return 0;
}
void utc(char * s)
{
char *str1;
char str[7];
str1=&s[7];
strncpy(bjtime,str1,6);
int x=strtol(bjtime,&str1,10);
x+=80000;
x%=240000;
for(int i=5;i>=0;i--){
bjtime[i]=(char)((int)'0'+x%10);
x/=10;

}
}

❺ C語言編程處理數據

#include <stdio.h>
#include <stdlib.h>int main(){
unsigned long i,j;
long num,a[103680][720]; // 457920 - 354240 = 103680
FILE *fp;
char filename[50];
if((fp = fopen(filename,"r")) == NULL) {
printf("NO FIFE!\n");
exit(0);
}
for(i = 0;i < 354240;i++) { // 將前354240行讀出,以便移動文件內部指針到需要的位置
for(j = 0;j < 720;j++)
fscanf(fp,"%d",&num); //
}
for(i = 0;i < 103680;i++) { // 開始讀入需要的數據
for(j = 0;j < 720;j++) {
fscanf(fp,"%d",&a[i][j]);
}
}/* 對數據進行必要的處理 */ fclose(fp);
return 0;
}

❻ C語言編程,對文件中數據進行處理

讀入文件ex.c,並把其中所有的小寫字母改為大寫字母,其餘字元不變,在屏幕上輸出。
#include<stdio.h>
main()
{
FILE *fp;
char ch;
if((fp=fopen("ex.c","r"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
ch=fgetc(fp);
while (ch!=EOF)
{
if(ch>='a'&&ch<='z')ch-=32;
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}

❼ C語言中怎麼實現大量數據的處理

2萬多的數據並不算很大(當然,這要看每條數據有多大),普通的文件處理就行,開辟數組,讀取文件即可。
如果整個文件達到幾十M甚至更大,可以使用二進制讀寫,fread、fwrite等。
如果該文件比內存還大,這又是另外的情形了,可以分段處理。