求解c语言程序设计题几道的程序写法,现在的C的教材简单,题目确十分困难,急于求得答案,谢谢高手们来指教
mucel 2007-11-14 08:36:54 1、从键盘输入一个长度超过100的字符串,按照ASCII码的大小,对字符串中的字符从小到大进行排序,输出排序之后的结果。
例如:
输入: ababc123defa
输出: 123aaabbcdef
求程序代码?
2、从键盘上输入文本文件名称,程序显示该文本文件的内容,在显示的同时按照行的顺序为每一行加上行号。
补充???号应该填写的程序代码
#include<stdio.h>
main
{
FILE * fp;
char file[20],str[10];
int flag=1,i=0;
printf ("Enter filename:");
scanf("%s",file);
if ((fp=fopen(file,???))==NULL)
{printf("file open error. \n");
exit(0);
}
while (fgets(str,10,fp)!=???)
{if (flag) printf("%3d:%s",++i,str);
else printf("%s",str);
if (str[???]=='\n')flag=1;
else flag=0;
}
fclose(fp);
}
3、从键盘上顺序输入10本书的名称和单价,程序按照单价从小到大进行排序,然后输出排序的结果。
补充???号应该填写的程序代码
#include<stdio.h>
#define NUM 10
???
{ char name[20];
float price;
};
main()
{ struct book term,books[NUM];
int count;
for (count=0;count<NUM;)
{
Printf("Please enter book name and price. book %d=",count+1);
scanf("%s%f",term.name,&term.price);
sortbook(term,books,count++);
}
printf("--------BOOK LIST--------\n");
for(count=0;count<NUM;count++)
printfbook(&books[count]);
}
sortbook(term,pbook,count)
struct book term;
struct book *pbook;
int count;
{int i;
struct book *q,*pend=pbook;
for(i=0;i<count;i++,???);
for(;pbook<pend;pbook++)
if (pbook->price >term.price)
break;
for(q=pend-1;q>=pbook;q--)
* (q+1)=*q;
*pbook=???;
}
printfbook(pbook)
struct book *pbook;
{printf("%-20s %6.2f\n",pbook->name,pbook->price};
}
4、从键盘输入变量n的值,根据n的值打印输入由*号组成的高为n的等腰三角形。例如:,当输入n=3时,将输入如下图形。
*
* * *
* * * * *
求程序代码?