大学c语言编程,高手帮帮忙,要求编写五十行以上

作者&投稿:席裴 (若有异议请与网页底部的电邮联系)
运用C语言写一个不少于五十行的代码,要求运用指针~

#include
#include
#include
#include

int main1()
{
int fd1;
int fd2;
int fd3;
char buf1[100]={100};
char buf2[100]={100};
char buf3[100]={100};
fd1=open("./tc.c",O_RDONLY);
fd2=open("./tc.c",O_RDONLY);
fd3=open("./tc.c",O_RDONLY);
read(fd1,buf1,sizeof(buf1));
printf("buf1: %s
",buf1);
read(fd2,buf2,sizeof(buf2));
printf("buf2: %s
",buf2);
read(fd3,buf3,sizeof(buf3));
printf("buf3: %s
",buf3);
close(fd1);
close(fd2);
close(fd3);
return 0;
}

int fd1;
int fd2;
int fd3;

void* read_tc0(void *c)
{

char buf1[100]={100};
read(fd1,buf1,sizeof(buf1));
printf("%s
",buf1);

return (void*)0;
}
void* read_tc1(void *b)
{
char buf1[100]={100};
read(fd2,buf1,sizeof(buf1));
printf("%s
",buf1);

return (void*)1;
}
void* read_tc2(void * a)
{
char buf1[100]={100};
read(fd3,buf1,sizeof(buf1));
printf("%s
",buf1);
return (void*)2;
}
int main()
{
pthread_t tid[3];

fd1=open("./tc.c",O_RDONLY);
fd2=open("./tc.c",O_RDONLY);
fd3=open("./tc.c",O_RDONLY);
pthread_create(&tid[0],NULL,read_tc0,NULL);
pthread_create(&tid[1],NULL,read_tc1,NULL);
pthread_create(&tid[2],NULL,read_tc2,NULL);
pthread_join(tid[0],NULL);
pthread_join(tid[1],NULL);
pthread_join(tid[2],NULL);
close(fd1);
close(fd2);
close(fd3);
}

我写着线程测试文件读取的,里面有指针

/*
这个程序我编了一个上午,希望能对你有用。
运行时按下INT0开始计时,再按下INT1得到速度
由于我只有公阳极数码管,(因为要调试)P2为片选端因为我加了三极管,所以也是低电平有效,你是共阴极,片选端可以直接连P2上,
你自己把数字取反再调试看看
速度的单位是厘米每秒,定义的L是1米,由于用浮点数表示速度在显示部分会麻烦一点,所以就偷了下懒用的整数表示的,由于最终速度
显示到数码管上要加一个小数点,所以实际上程序中的V是以毫米每秒为单位,显示到数码管上缩小了10倍
*/
#include <reg52.h>

code unsigned char tab[]=
;
//共阳数码管 0-9 共阴极你要取反

unsigned char Dis_Baiwei=0xc0;//定义百位
unsigned char Dis_Shiwei=0xc0;//定义十位
unsigned char Dis_Gewei=0xc0; //定义个位
unsigned char Dis_ShiFwei=0xc0; //定义十分位
unsigned char second,msecond;

unsigned long L=100000; //1米,以0.01mm为单位
unsigned int v; //速度
unsigned int t; //时间以0.01秒为单位

void CLR(void);
void delay(unsigned int cnt)
{
while(--cnt);
}

main()
{
EX0=1;//外部中断0设置
IT0=1;//边沿触发

EX1=1;//外部中断1设置
IT1=1;

TMOD |=0x01;//定时器设置 10ms in 12M crystal
TH0=0xd8;
TL0=0xf0;
ET0=1; //打开中断
TR0=0;

EA=1;
second=0;
msecond=0;
while(1)
{
P0=Dis_Baiwei;//显示第一位
P2=0xf7;
delay(300);//短暂延时
P0=Dis_Shiwei; //显示第二位
P2=0xfb;
delay(300);
P0=Dis_Gewei;//显示第三位
P2=0xfd;
delay(300);//短暂延时
P0=Dis_ShiFwei; //显示第四位
P2=0xfe;
delay(300);
}
}
/********************************/
/* 定时中断 */
/********************************/
void tim(void) interrupt 1 using 1
{

TH0=0xd8;//重新赋值
TL0=0xf0;
msecond++;
if (msecond==100)
{
msecond=0;
second++;//秒加1
if(second==200)
second=0;

}
Dis_Baiwei=tab[second/10];//十位显示值处理
Dis_Shiwei=tab[second%10]&0x7f; //个位显示处理,如果是共阴极就是0X80
Dis_Gewei=tab[msecond/10];//十位显示值处理
Dis_ShiFwei=tab[msecond%10]; //个位显示处理


}
void ISR_INT0(void) interrupt 0 using 1
{
TH0=0xd8;//重新赋值
TL0=0xf0;
second=0; //利用外部中断清零
msecond=0;
Dis_Baiwei=0xc0;
Dis_Shiwei=0xc0;
Dis_Gewei=0xc0;
Dis_ShiFwei=0xc0;
TR0=1;
}
void ISR_INT1(void) interrupt 2 using 1
{
TR0=0; //利用外部中断关闭定时器0
t=second*100+msecond;//0.01秒为单位
if(t>10) //最大速度为999.9
v=L/t;
else
v=9999;
Dis_Baiwei=tab[(v/1000)];//百位显示值处理
Dis_Shiwei=tab[((v%1000)/100)];//十位显示值处理
Dis_Gewei=tab[((v%100)/10)]&0x7f; //个位及小数点显示处理如果是共阴极就是0X80
Dis_ShiFwei=tab[(v%10)];//十分位显示值处理

}

#include<stdio.h>
#include<stdlib.h>
#define NUMBER 100
int ReadDat(int *a);
int JsValue(int *a,int *b);
void WriteDat(int *b,int cnt);
int main(void)
{
int cnt;
int *a=malloc(NUMBER*sizeof(int));//数组a有一百个成员,相对较大,所以采用动态非配
int *b=malloc(NUMBER*sizeof(int));
ReadDat(a);
cnt=JsValue(a,b);
WriteDat(b,cnt);

return 0;
}
int ReadDat(int *a)
{
int i;
printf("please enter %d Four-digit:\n",NUMBER);
for(i=0;i<NUMBER;i++)
{
printf("%d\tFour-digi:",i+1);
scanf("%d",a++);
}
return 0;
}
int JsValue(int *a,int *b)
{int i,n,flag=0,cnt=0;
for(i=0;i<NUMBER;i++)
{
flag=0;
for(n=2;n<*a;n++)
if(*a%n==0)
{
flag=1;break;
}
if(flag==0)
{
*b++=*a;
cnt++;
}
a++;
}
return cnt;
}
void WriteDat(int *b,int cnt)
{
int i;
for(i=0;i<cnt;i++)
printf("%d\t",*b++);
printf("\n");
}
已经调试过,符合你要求啦,希望你满意,满意就采纳吧,灰常感谢!

#include<stdio.h>
#include<math.h>
bool isprime(int x);
void ReadDat(int a[100]);
void jsValue(int a[100],int b[100]);
void WriteDat(int b[100]);
void main()
{

int i,cnt=0;int a[100],b[100];
ReadDat(a[100]);
jsValue( a[100], b[100])
WriteDat( b[100]);

}

void ReadDat(int a[100])
{
int i;
printf("请输入100个四位数");
for(i=0;i<100;i++)
scanf("%d",&a[i]);
}

void jsValue(int a[100],int b[100])
{
int i;
for(i=0;i<100;i++)
{
if(isprime(a[i])==1)

{
b[cnt]=a[i];
cnt++;
}

}
}

void WriteDat(int b[100])
{
int t,i,j;
for(i=0;i<cnt;i++)
for(j=i+1;j<=cnt;j++)
{
if(b[i]>b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;

}
}

for(i=0;i<=cnt;i++)
{
printf("这些素数从小到大排列为%d ",b[i]);
}

}

bool isprime(int x)//判断是否为素数的函数
{
int m=(int)sqrt(x);

for(int i=2;i<=m;i++)

if(x%i==0)
return 0;
return 1;
}

#include<stdio.h>
#include<math.h>
void ReadDat(int a[])
{
int i;
printf("请输入100个四位数\n");
for(i=0;i<100;i++)
scanf("%d",&a[i]);
}
int isprime(int x)//判断是否为素数的函数
{
int i;
int m=(int)sqrt(x);
for(i=2;i<=m;i++)
if(x%i==0)
return 0;
return 1;
}
int jsValue(int a[100],int b[100])
{
int i,cnt=0;
for(i=0;i<100;i++)
{
if(isprime(a[i])==1)
{
b[cnt]=a[i];
cnt++;
}
}
return cnt;
}
void WriteDat(int b[100],int cnt)
{
int t,i,j;
for(i=0;i<cnt;i++)
for(j=i+1;j<=cnt;j++)
{
if(b[i]>b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
}
for(i=0;i<=cnt;i++)
{
printf("这些素数从小到大排列为%d ",b[i]);
}
}
void main()
{
int a[100],b[100],cnt;
cnt=jsValue(&a[100],&b[100]);
ReadDat(&a[100]);
jsValue(&a[100],&b[100]);
WriteDat(&b[100],cnt);
}

主要就是要掌握函数的调用

请教你们老师!


编程高手请进!(C语言)
scanf("%c",&yes);} } 2.include <stdio.h> void main(){ int gj, mj, xj, t1, t2;for (gj=1; gj<=20; gj++){ for (mj=1; mj<34; mj++){ xj=100-gj-mj;t1=xj%3;t2=5*gj+3*mj+xj\/3;if (t1==0&&t2==100)printf("gj=%d,mj=%d,xj=%d\\n",gj,mj,xj);} }...

大学c语言编程,高手帮帮忙,要求编写五十行以上
include<stdio.h> include<stdlib.h> define NUMBER100 int ReadDat(int *a);int JsValue(int *a,int *b);void WriteDat(int *b,int cnt);int main(void){ int cnt;int *a=malloc(NUMBER*sizeof(int));\/\/数组a有一百个成员,相对较大,所以采用动态非配 int *b=malloc(NUMBER*sizeof...

学会个C语言大概要多久
根据你学C语言的目的而定~要是想看懂C语言就够了~学习1天知道循环,分支语句就差不多了。要是想运用编些小程序怎么的也得三五天 要是想入门得至少一周 学通得一个月(在经常实践的前提下)学成C语言高手这个就不好说了,因为这个是根据编程量有联系的 ...

C语言编程 TC2.0 高手进..200分数学计算程序
有求必应,综合的:include <stdio.h> main(){ int a,b;int c[] = {1,2,3,4,5,6,7,8,9,10};int i,sum;scanf("%d%d", &a,&b);printf("%d*%d=%d",a,b,a*b);scanf("%d", &a);printf("%d is %s",a,a&1?"odd":"even");for(i=0;i<10;i++)sum+=c[i];pri...

请C语言高手编程!“双色球”红号组合编程 1,从1到33里任意取六个数进 ...
include <stdlib.h> include <stdio.h> include <stdlib.h> include <stdio.h> include \/*用到了time函数,所以要有这个头文件*\/ define MAX 6 int main( void){ int number[MAX] = {0};int i,j;srand((unsigned) time(NULL)); \/*播种子*\/ for(i = 0; i < MAX; i++){ num...

从C语言编程方面来讲,怎么样才算是好程序员?
要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程\/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。

C语言数组编程,求高手 编写程序求某班20位学生三门课(英语,数学,语文...
include <stdio.h>#include <stdlib.h>int main(){int i,j,x,y,z,r,a[20];for(i=1;i<=20;i++){scanf("%d%d%d",x,y,z);a[i-1]=x+y+z;}for(i=0;i<=19;i++){for(j=i;j>=0;j--){if(a[j]>a[j-1]){r=a[i];a[i]=a[i+1];a[i+1]=r;}}}for(i=...

C语言编程问题 高手进
估计你用的是TC编译器,这是一个很差的编译器,建议你使用VC++(window)或者gcc(Linux\/Unix)两者之一。图形和多线程都是与操作系统相关的东西,单单的C语言标准库是没有这类函数的,所以,如果你真的要实现这些东西,请选译一个平台(window或Linux),深入学习。关于你说的第2点,TC还是有办法的。

c语言怎么学~~~求高手
4、 严格按照程序设计过程设计程序,不要跳脱,天马行空,没有规矩是不成方圆的。5、 努力提高自身的综合素质。程序是人思维的表达形式,是人处理问题思路和语言的结合体。你对客观看成到什么程度和你掌握的知识成正比。如果你对处理的问题不理解,不会处理,你怎么也写不出程序。6、 学会交流,多...

C语言高手!!帮忙写个最短路径程序!!!
这是我们的一个实验,你可以参考一下 一、 需求分析 【问题描述】设计一个校园导游程序,为来访的客人提供各种信息查询服务。【基本要求】(1) 设计你所有学校的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。(2...

润州区19896507425: 大学c语言编程,高手帮帮忙,要求编写五十行以上 -
戎程亮菌: #include#include void ReadDat(int a[]) { int i; printf("请输入100个四位数\n"); for(i=0;i<100;i++) scanf("%d",&a[i]); } int isprime(int x)//判断是否为素数的函数 { int i; int m=(int)sqrt(x); for(i=2;i<=m;i++) if(x%i==0) return 0; return 1; } int jsValue(...

润州区19896507425: C语言高手来,帮忙编个程序
戎程亮菌: #include<conio.h> #include <stdio.h> int main() { int a,b,c,n,m; char s; scanf("%c,%d",&s,&n); for(a=1;a<=19;a++) printf(" "); printf("%c",s); printf("\n"); for(a=2;a<=n-1;a++) { for(c=1;c<=20-a;c++) printf(" "); printf("%c",s); for(m=0;m<...

润州区19896507425: 请高手帮忙写一个c语言程序 要求如下
戎程亮菌:#include <stdio.h> int main( ) { int i , n; unsigned long a[40]; FILE *fp = fopen("data.txt", "w"); a[0] = 3; a[1] = 5; for(i = 2; i < 40; i++) a[i] = a[i-2] + a[i-1]; for(i = 1; i <= 40; i++) { printf("%-10ld", a[i-1]); fprintf(fp,"%-10ld", a[i-1]); if(i%10 == 0) { ...

润州区19896507425: 请各种C语言高手帮忙编写这两个程序
戎程亮菌: 1.编写一个程序,实现输入六个数输出最小数 #include "stdio.h" main() { int a[6],min,i; for(i=0;i<6;i++) { printf("\n请输入第%d个整数:",i+1); scanf("%d",&a[i]); } min=a[0]; for(i=1;i<6;i++) { if(min>a[i])min=a[i]; } printf("最小数为%d",...

润州区19896507425: 求高手帮忙写一段C语言程序
戎程亮菌: int a[4][4]={{1,2,3,4},{12,13,14,5},{11,16,15,6},{10,9,8,7}}; for(int i=0;i<4;i++){ for(int j =0;j<4;j++){ printf("%d ",a[i][j]); } printf("\n"); }

润州区19896507425: C语言高手帮着编一个程序吧,需要用 -
戎程亮菌: 展开全部#include #include"string.h"# define N 60# define M 60 int main() {char str[N][M],ch,alp[27]="abcdefghijklmnopqrstuvwxyz"; int i=0,j=0,k=0,m,n,l,num[26]={0},max=0; printf("Please insert your string:"); while(k+1 { if(ch<='z'&&ch>='a') ...

润州区19896507425: 有没有C语言的高手帮忙编一下啊?
戎程亮菌: 如果楼主是计算机系的,建议自己编,这个几乎是每个学编程的人都会的,打基础的时候都做过 还有楼上的兄弟的不对不是指针冒泡排序#include<stdio.h> void main() {int i, j,num[5]={12,15,54,36,85},temp;int *arr;arr=num; /* 下面怎么写控...

润州区19896507425: 求C语言高手来帮忙编写两个程序?
戎程亮菌: #include <stdio.h> main() { int a,b,c,d; printf("*"); for(a=1;a<10;a++) printf("%3d",a); printf("\n"); for(b=1;b<10;b++) { printf("%d",b); //这一行 for(c=1;c<=b;c++) { d=b*c; printf("%3d ",d); }printf("\n"); } getch(); } 运行显示: * 1 2 ...

润州区19896507425: 求c语言编程高手!帮忙编下这道题!
戎程亮菌: #include<stdio.h> //=============================================================== int Sac(int k); int Ssq(int k); //函数声明 float Sre(int k); //=============================================================== //===...

润州区19896507425: C语言高手,求帮忙写编程!!!
戎程亮菌:1,源程序如下: 源程序如下: #include<stdio.h>int main(){float x,sum=0,avg=0,max,min;int i=1;printf("请输入10个浮点型的数:\n");scanf("%f",&x);max=min=x;while (i<=9){scanf("%f",&x);sum=sum+x;if (x>max)max=x;else min=x;i=i+1;}...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网