如何写以下这道程序
#include
void main()
{
int mark,a;
int b;
scanf("%d",&mark);
while(b>0)
b++;
a=mark/10
switch(a)
{
case 0:
case 10:printf("90-100分的人数有%d",);break;
case 11:
case 20:printf("80-89分的人数有%d",b);break;
case 21:
case 30:printf("70-79分的人数有%d",b);break;
case 31:
case 40:printf("60-69分的人数有%d",b);break;
case 41:
case 100:printf("60分以下的人数有%d",b);break;
}
望采纳~~
非常基础的排序啊,三个数字,都用不着什么快速排序,冒泡排序的,直接几个判断就完事了。
C程序最大的特点就是所有的程序都是用函数来装配的。main()称之为主函数,是所有程序运行的入口。其余函数分为有参或无参两种,均由main()函数或其它一般函数调用,若调用
的是有参函数,则参数在调用时传递。
main()
{
...
y1=f1(x1,x2);
...
}
f1(int a,int b)
{
....
Y2=f2(x3,x4);
....
}
f2(int m,int n)
{
....
.....
}
在前面课程的学习中,对main()函数始终作为主调函数处理,也就是说,允许main()调用
其它函数并传递参数。事实上,main()函数既可以是无参函数,也可以是有参的函数。对于有
参的形式来说,就需要向其传递参数。但是其它任何函数均不能调用main()函数。当然也同样
无法向main()函数传递,只能由程序之外传递而来。这个具体的问题怎样解决呢?
我们先看一下main()函数的带参的形式:
main(argc,argv)
int argc,char *argv[];
{
.....
}
从函数参数的形式上看,包含一个整型和一个指针数组。当一个C的源程序经过编译、链接后,会生成扩展名为.EXE的可执行文件,这是可以在操作系统下直接运行的文件,换句话说,就是由系统来启动运行的。对main()函数既然不能由其它函数调用和传递参数,就只能由
系统在启动运行时传递参数了。
在操作系统环境下,一条完整的运行命令应包括两部分:命令与相应的参数。其格式为:
命令参数1参数2....参数n¿
此格式也称为命令行。命令行中的命令就是可执行文件的文件名,其后所跟参数需用空格分隔,并为对命令的进一步补充,也即是传递给main()函数的参数。
命令行与main()函数的参数存在如下的关系:
设命令行为:program str1 str2 str3 str4 str5
其中program为文件名,也就是一个由program.c经编译、链接后生成的可执行文件program.exe,其后各跟5个参数。对main()函数来说,它的参数argc记录了命令行中命令与参数的个数,共6个,指针数组的大小由参数argc的值决定,即为char*argv[6],指针数组的取值情况如图6-15所示。
数组的各指针分别指向一个字符串。应当引起注意的是接收到的指针数组的各指针是从命令行的开始接收的,首先接收到的是命令,其后
才是参数。
下面用实例来说明带参数的main()函数的正确使用。
[例6-29] 利用图形库函数绘制一个变化的环。它是把一个半径为R 1的圆周分成n份,然
后以每个等分点为圆心,以R s为半径画n个圆(关于作图的详细理论本教材第9章第1节作了专
门介绍,这里只作简单分析)。利用m a i n ( )函数的带参数形式,我们可以从键盘以命令行的方
式输入R 1和R s及屏幕的背景色。
#include <graphics.h> /*包含图形库函数的头文件* /
#include <math.h>
#define pi 4.1415926
m a i n ( a r g c , a r g v )
int argc;char *argv[]; /* 定义带参数的m a i n ( ) * /
{
int x,y,r1,rs,color;
double a;
int gdriver=DETECT,gmode;
initgraph(&gdriver,&gmode,"..\\bgi ")启;/动*图形工作方式*/
r1=atoi(argv[1]);/*计算基础圆半径*/
rs=atoi(argv[2]);/*计算同心圆半径*/
color=atoi(argv[3]);/*背景色*/
cleardevice();/*清除图形屏幕*/
setbkcolor(color);/*设置背景色*/
setcolor(4);/*设置图形显示颜色*/
for(a=0;a<=2*pi;a+=pi/18)/*绘制同心圆*/
{
x=r1*cos(a)+320;
y=r1*sin(a)+240;
circle(x,y,rs);/*以圆心坐标为x、y,半径为rs画圆*/
}
getch();/*等待按键继续*/
close graph();/*关闭图形工作方式*/
}
若程序名为L6-29.c,经编译、连结生成可执行文件L6-29.exe。在操作系统的环境下运行
程序,命令行方式为:
l6-29 40 20 3
则命令行与main()函数的参数有如图6-16所示的关
系。
图6-16中,argv[0]是程序名,argv[1]是r1的值,
argv[2]是rs的值,argv[3]是屏幕的背景色。
由于指针数组均存放字符串,所需的圆半径及背景
色彩通过atoi()函数转换为整型。
通过带参数的main()函数,我们可以为自己的程序设置口令,在运行程序的命令行中给出所需的口令,正确则继续,否则退出。程序图形输出如图6-17所示。
[例6-30]将上述程序作修改,在程序的入口处添置密码,若给定密码正确,则显示图
形。
#include<graphics.h>
#include <math.h>
#define pi 4.1415926
m a i n ( a r g c , a r g v )
int argc;char *argv[];
{
int x,y,r1,rs,color;
double a;
int gdriver=DETECT,gmode;
if (strcmp(argv[1],"pass")!=0) 设/置* 口令的比较*/
{ printf("password error!\n");
e x i t ( 0 ) ;
}
initgraph(&gdriver,&gmode,"..\\bgi ");
r1=atoi(argv[2]);
rs=atoi(argv[3]);
color=atoi(argv[4]);
cleardevice();
setbkcolor(color);
setcolor(4);
for(a=0;a<=2*pi;a+=pi/18)
{
x=r1*cos(a)+320;
y=r1*sin(a)+240;
circle(x,y,rs);
}
getch();
closegraph();
}
在操作系统的环境下运行程序, 命令行中增加口令“p a s s”,命令行方式为:
l6-30 pass 20 40 3
指针数组的存储字符串如图6-18所示。
若给定字符串argv[1]的值是pass,则程序正确运行,否则程序退出。口令正确的情况下,显示的图形为图6-17中的一个。
晕~楼上的,简单你怎么不回答~~
楼主想要用什么语言编啊~
这么简单你也问
如何自己编写一个程序
如果代码写得乱七八糟,程序就不容易被阅读和修改。因此,编写代码时应注意以下几点:(1)注释:虽然写注释需要一定的时间,但是在阅读和修改代码的时候会节省很多时间。所以建议你在定义函数的时候,把函数写在函数的第一行,把函数的参数解释在一行,在每个变量的定义语句后面给函数加注释。(2)变量和函数...
用C语言编写以下程序已知某字符为'A',求该字符的前一个字符和后一个字 ...
include <stdio.h>void main(){char ch;scanf("%c",&ch);printf("%c %c",'A'+(ch-'A'+25)%26,'A'+(ch-'A'+1)%26);}2、include <stdio.h>void main(){char ch;scanf("%c",&ch);printf("%c",ch+32);}3、include <stdio.h>void main(){int n;scanf("%d",&n);...
如何编写C语言程序?
1.打开桌面上的DEV_C++,进入如下界面:2.快捷键“CTRL+N”建立新源代码。3.输入源代码,下面给出最简单的Hello,world源代码:include <stdio.h> int main( ){ printf("Hello,World\\n");return 0;} 4.按下F11编译并且运行源代码,得到运行结果:5.点击任意键返回源代码编辑界面可以继续进行开发...
谁能用for循环帮我写一下下面这个程序 输出以下图形 * *** *** **...
include "stdio.h"int main(void){ int i,j; for(i=1;i<=7;i+=2){ for(j=0;j++0;i-=2){ for(j=0;j++
拜托哪位高手帮我写一下这道程序,是c语言的,谢谢啦
e,money;\/\/定义用电量为e,电费为moneyprintf("请输入用户的月用电量e: 千瓦时\\n");scanf("%lf",&e);if(e>0 && e<=50)money=0.53*e;else if(e>50)money=0.53*50+(0.53+0.05)*(e-50);printf("用户该支出的电费是%.2lf元\\n",money);return 0;}运行效果如图:...
程序是如何编写的?
而这个过程就是我们“编”出来的。编程可以使用某一种程序设计语言来实现,按照这种语言的语法来描述让计算机要做的事情。 我们这里所讲的语法和外语中的语法完全两码事,这里讲的语法只是读你的程序书写做出一写规定而已。 写出程序后,再由特殊的软件将你的程序解释或翻译成计算机能够识别的“计算机语言”,然后计算机就...
请写出以下程序的运行结果,并分析原因。
main()函数输出19 我觉得你的主要疑问就是静态局部变量 静态局部变量有以下特点:该变量在全局数据区分配内存;静态局部变量在程序执行到该对象的声明处时被首次初始化,即以后的函数调用不再进行初始化;静态局部变量一般在声明处初始化,如果没有显式初始化,会被程序自动初始化为0;它始终驻留在全局...
C语言高手!!帮忙写个最短路径程序!!!
这是我们的一个实验,你可以参考一下 一、 需求分析 【问题描述】设计一个校园导游程序,为来访的客人提供各种信息查询服务。【基本要求】(1) 设计你所有学校的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。(2...
2010四川农村信用最后一道编程题怎么写程序?高人讲解下···
下面是我用C语言写的,调试后是显示的结果满足上面的要求.就是不晓得我写的对不.哎我当时也没有回答对,只是想法对了,但是没表达对,可能也没有分,悲剧!!!include "stdio.h"void main(){ int i,a[50];a[1]=1;a[2]=1;printf("%d %d ",a[1],a[2]);for(i=1;i<39;i++){ a[i...
用单片机移位实现,该怎么写程序啊,用C语言,主要是移位部分不会写
include <intrins.H> 这个是调用单片机头文件里面的函数,你自己查查书籍啊,要调用的话就要写这个头文件 本程序 调用的移位函数啦 就是左右移动函数 define uchar unsigned char define uint unsigned int uchar aa ;void delay(uint z ) \/\/延时程序,延时准确为1MS;{ uint x,y;for(x=z;x>...
仇维愈裂: #include <stdio.h> #include <math.h> int Digit(int n) { return n > 0 ? 1 + Digit(n/10) : 0; } void rprint(int n) { n > 0 ? printf("%d", n%10), rprint(n/10) : 0; } void print(int n) { n > 0 ? print(n/10), printf("%d ", n%10) : 0; } int main() { int n; scanf("%d",...
岐山县15711379489: 请问这道程序要怎么编??
仇维愈裂: public class Rect{ private int w,h,z; w=i; h=j; void show(){ z=(w+h)*2; System.out.println(矩形周长:+z); } public static void main(String []args){ Rect rec=new Rect(); Rect.show();
岐山县15711379489: 用c语言编写这道题的程序 - ?
仇维愈裂: #include int my_pow(int x,int y) { int i; int t=1; for(i=0;i { t=t*x%1000; } return t; } int main() {int x,y; while(scanf("%d%d",&x,&y)!=EOF) { printf("%d\n",my_pow(x,y); } return 0; }
岐山县15711379489: 用一百元钱买一百只鸡,公鸡5元一只,母鸡3元一只,小鸡1元3只,在VF中怎样编写这道题的程序,(*用一百元钱,必须买一百只鸡 - ?
仇维愈裂:[答案] 公鸡为A,母鸡为B,小鸡为100-A-B 则5A+3B+(100-A-B)/3=100 由A,B,都得为整数不难得出公鸡=4,母鸡=18 小鸡=78
岐山县15711379489: 怎么编写这道程序题C语言?
仇维愈裂: 方法一, #include<stdio.h> #include<math.h> int main() { long int num; int indiv,ten,hundred,thousand,ten_thousand,place; printf("intput a interger(0~99999):"); scanf("%ld",&num); if(num>9999) place=5; else if(num>999) place=4; else if(num...
岐山县15711379489: 怎么用C语言的for循环,写这道程序 - ?
仇维愈裂: #include <stdio.h> int main(void) { int i,j; for(i=0;i<7;++i) { for (j=0;j<4+abs(3-i);++j) //把4改成0就紧靠左边 printf(" "); for (j=0;j<(3-abs(i-3))*2+1;++j) printf("*"); printf("\n"); } return 0; }
岐山县15711379489: 用c语言编写下面这道题的程序 - ?
仇维愈裂: #include int main() { int a,b,c; for(a=0;a for(b=0;b {c=100-10*a-5*b; if(a+b+c==50)printf("%2d%5d%5d\n",a,b,c); } return 0; } 总共就1种方案:10元2张5元8张1元40张
岐山县15711379489: 如何编写这个程序 - ?
仇维愈裂: 这个工程名是NetClient#include<Winsock2.h>#include<stdio.h> void main() { WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested=MAKEWORD(1,1); err=WSAStartup(wVersionRequested,&wsaData); if(err!=0) { return; } ...
岐山县15711379489: c语言编写这道题的程序 - ?
仇维愈裂: #include void main() { int chick, rabit; for( chick =0;chick{ rabit=98-chick; if ( chick*2 + rabit*4 == 386 ) printf("chick=%d rabit=%d\n", chick, rabit ); } }
岐山县15711379489: C语言:打印出100~200间的素数.这道程序怎么写? - ?
仇维愈裂: //以前写的code,测试通过,如果有疑问,欢迎交流//这里是输入m,n,并且输出m,n之间的素数,要100-200之间的,就输入,100 200就可以了#include<stdio.h>#include<math.h> int is_prime(int tar){//判断是否为素数 int i = 2; int end = sqrt((float)...