当前位置:首页 » 编程语言 » c语言任务

c语言任务

发布时间: 2022-06-23 04:04:31

‘壹’ c语言任务,帮个忙,按要求做

#include<stdio.h>
#include<malloc.h>
#include<string.h>
#include<conio.h>

void fun(char xx[]) //前面加$的函数
{
char *p,*q;
int len,j=0;

len=strlen(xx); // 求原来的长度
p=xx; //p指向数组首地址
q=xx+len; //q指向尾地址。
while(*p!=EOF){ //p 没到结束
if(*p>='0'&&*p<='9'){ //判断是不是数字
while(q!=p){*q=*(q-1);--q;} // 把数字后面的所有内容往后退一位,空出地方插 $;
j++; //计数,一个数字相应 +1;
*(p+1)=*p; // 把数字放后面一位
*p='$'; //原数字位置放 $;
p++; // p指向后一位,就是移过的数字位
q=xx+len+j; //q 指向增加后的 数组尾巴。
*q='\0'; //尾巴上放 一个文件 结尾符。
}
p++; //p 再向后移一个。指向数字的后一位。
}
}

int main()
{
char *a;
int len,j=0;
a=(char *)malloc(sizeof(char)); //因为不知道字符串长度,和数字个数,所以定义个 动态数组最好,防止插入后数组越界。
printf("输入原始字符串:\n");
gets(a);
fun(a); //调用处理函数。
printf("转换后字符串:%s",a);
getch(); //这个是接收一个字符,当暂停用的,不用管。防止运行一闪就没。。
return 0;

}

‘贰’ 小白发问,这个C语言任务该如何编写求大佬帮助啊!!

#include <stdio.h>

#include<math.h>

int prime(int a) //判断是否为素数,是素数返回0

{

int b = (int)sqrt(a);

int fact = 0;

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

{

if(a%i == 0)

fact = 1;

}

return fact;

}

void main()

{

int a,b=0;

for(int i=2; i<=100;i++) //判断从2到100的每个数是否为素数

{

a = prime(i);

if(a == 0)

{ b++;

printf("%d ",i);

}

if(b==10) //每十个输出为一行

{

printf(" ");

b=0;

}

}

printf(" ");

}

‘叁’ C语言 任务一 任务要求:编写一个程序,可以根据输入的数字打印不同的内容。

#include<stdio.h>
main()
{
inti;
while(1){
scanf("%d",&i);
switch(i){
case0:printf("姓名,专业年级,性别 ");break;
case1:printf("姓名 ");break;
case2:printf("专业年级 ");break;
case3:printf("性别 ");break;
default:printf("请重新输入 ");break;
}
}
}

如图所示,望采纳。。。。。。

‘肆’ C语言 任务分配的问题

#include <stdio.h>
void function();
void main()
{
int t;
printf("input t\n");
scanf("%d",&t);
while(0<t--)
function();
}
void function()
{
int i,j,n,a[100][100],a1[100]={0},k=0,i1,j1;
printf("input n\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("%2d:",i+1);
scanf("%d",&a[i][0]);
for(j=1;j<=a[i][0];j++)
scanf("%d",&a[i][j]);
}
for(i=1;i<101;i++)
for(j=n-1;j>=0;j--)
if(a[j][0]==0)
{
a1[k++]=j+1;
for(i1=0;i1<n;i1++)
for(j1=1;j1<=a[i1][0];j1++)
if(a[i1][j1]==j+1)
{
a[i1][0]--;
break;
}
a[j][0]=200;
break;
}
if(k==n)
{
for(i=0;i<k;i++)
printf("%d ",a1[i]);
printf("\n");
}
else
printf("-1\n");
}

‘伍’ c语言设计的任务是什么

一、 目的:进一步消化和巩固已学过的C 语言程序设计基础理论,学习和实践程序设计的各种技能,利用C 语言来设计各种应用程序和管理系统,为社会提供各种现代化的管理工具。
二、 设计题目:
1. 学生学习成绩管理系统;
2. 多功能计算器;
3. 学生自选题目;
三、 对题目的要求:
一)学生学习成绩管理系统
1. 系统的功能模块组成:
动画登录

系统菜单

数据输入 修改 查询 统计 查询 报表 退出

2. 系统要求由登录窗口经验证密码后进入主菜单,对登录窗口设计一个彩色图形界面且操作方便灵活;
3. 主菜单至少包含上面7个功能模块,让使用者选择功能后即可进行相应功能操作;
4. 数据输入模块要求能一边输入数据记录一边显示出数据且数据显示整齐,同时将数据记录写入数据文件中,输入完后报告实际记录个数;
5. 修改模块用于对数据记录文件进行修改和添加,然后数据记录写入文件中;
6. 查询模块要求有多种查询功能,能按姓名、学号、总分、单科、90分以上、不及格等条件查询;
7. 排序模块要求能别按升序和降序排列,并能显示出排序前后的数据;
8. 报表模块的功能用于显示整个数据文件中的数据;
9. 统计模块用于分级统计学生的人数,并显示出统计结果;
10. 学生成绩管理系统的数据格式要求使用结构体类型定义,同时定义一个结构体数组用来存放数据记录,结构体(自定义类型)可定义为:姓名、性别、学号、数学、外语、计算机、政治等成员,数据保存在随机文件stu.dat中;
二)多功能计算器
1. 系统要求彩色动画登录,登录后显示出计算器彩色主画面;
2. 系统须具有加、减、乘、除、乘方、开方、阶乘、三角函数运算等功能;
3. 对每一个运算都有一个了菜单,在主画面上方设计一个结果显示框;
4. 对四则运算要有连续运算的功能;
5. 对三角函数运算模块要求输入数据用角度,运算时自动转换为弧度;

‘陆’ 在c语言中想要让一个任务执行完成之后才可以执行下一个任务要怎么做

用循环做,例子:
int a=0;
scanf("%d",&a);
switch(a)
{
case 1://功能1...
break;
case 2:while(1){
printf("请输入学生数据\n");
//学生数据录入功能
//录入完后,break;
}
break;
//......
}

‘柒’ 小白发问,这个C语言任务该如何编写

void squeeze(char* str1, char* str2)
{
int len1 = strlen(str1);
int len2 = strlen(str2);
char* temp = (char*)malloc(len1);
memset(temp, 0, len1);
int tempLen = 0;
for (int i = 0; i < len1;++i)
{
char* p = find(str2, str2 + len2, str1[i]);
if (p == str2 + strlen(str2)) //在s2中没找到与s1[i],s1[i]就是有效字符
{
temp[tempLen++] = str1[i];
}
}
memcpy(str1, temp, tempLen + 1);//+1 是为了把结束符拷贝进去
}
main()
{
char s1[20] = "THISISABOOKS";
char s2[5] = "IS";
squeeze(s1, s2);
printf("%s", s1);
}

‘捌’ C语言任务,简单的

#include <stdio.h>
#include <ctype.h> /*此头文件包含 isdigit() 函数 */

int fun(char a[]);

void main()
{
char ch[256];
printf("请输入字符串:");
gets(ch);
printf("被删除的字符个数:%d\n",fun(ch));
}

int fun(char a[])
{
int num=0; /*用来记录删除的字符的数目*/
int i=0,j=0;
char result[256];
do
{
if(isdigit(a[i])!=0)
{
num++; /*当判断字符为数字,则num加1 */
}
else
{
result[j]=a[i]; /*当是字符时,则把字符赋值给一个新的字符串result【】 */
j++;
}
i++;
}while(a[i]!='\0');
result[j]='\0'; /*由于字符串的结束标识符为 \0 所以在对字符串处理玩后要对result字符串添加上 \0 以便能正确的输出结果。 */
printf("处理后的字符串为:%s\n",result);
return num;
}

‘玖’ C语言简单任务

#include <stdio.h>

#define TRUE 1
#define FALSE 0
#define M 10

typedef bool Boolean;

void InsertSort(int R[],int n)
{ //对顺序表R中的记录R[1..n]按递增序进行插入排序
int i,j;
for(i=2;i<=n;i++)//依次插入R[2],…,R[n]
if(R[i]<R[i-1]){//若R[i].key大于等于有序区中所有的keys,则R[i]
//应在原有位置上
R[0]=R[i];j=i-1; //R[0]是哨兵,且是R[i]的副本
do{ //从右向左在有序区R[1..i-1]中查找R[i]的插入位置
R[j+1]=R[j];//将关键字大于R[i].key的记录后移
j-- ;
}while(R[0]<R[j]); //当R[i].key≥R[j].key时终止
R[j+1]=R[0]; //R[i]插入到正确的位置上
}//endif
}//InsertSort

void BubbleSort(int R[],int n)
{ //R(l..n)是待排序的文件,采用自下向上扫描,对R做冒泡排序
int i,j;
Boolean exchange; //交换标志
for(i=1;i<n;i++){ //最多做n-1趟排序
exchange=FALSE; //本趟排序开始前,交换标志应为假
for(j=n-1;j>=i;j--) //对当前无序区R[i..n]自下向上扫描
if(R[j+1]<R[j]){//交换记录
R[0]=R[j+1]; //R[0]不是哨兵,仅做暂存单元
R[j+1]=R[j];
R[j]=R[0];
exchange=TRUE; //发生了交换,故将交换标志置为真
}
if(!exchange) //本趟排序未发生交换,提前终止算法
return;
} //endfor(外循环)
} //BubbleSort

void HeapAdjust(int H[],int s,int m)
{
//已知H.elemword[s..m]中除H.elemword[s]之外均满足堆的定义,本函数调整H.elemword[s]
//使H.elemword[s..m]成为一个大顶堆
int j,rc;
rc=H[s];
for(j=2*s;j<=m;j*=2) //沿关键字叫大的结点向下筛选
{
if(j<m&&H[j]<H[j+1]) ++j; //j为关键字较大的记录的下标
if(rc>=H[j]) break; //rc应插入在位置s上
H[s]=H[j];
s=j;
}
H[s]=rc; //插入
}
void HeapSort(int L[],int n)
{
//对顺序表L做堆排序。
int i,temp;
for(i=n/2;i>0;--i) //把L.elemword[1..L.length]建成大顶堆
HeapAdjust(L,i,n);
for(i=n;i>1;--i)
{
//Swap(L[1],L[i]); //将堆顶记录和当前未经排序子序列L.elemword[1..i] 中的最后一个记录相互交换
temp=L[1];L[1]=L[i];L[i]=temp;
HeapAdjust(L,1,i-1); //将L.r[1..i-1]重新调整为大顶堆
}
}

void custom_sort(int L[],int n,void (*fun)(int R[],int n)){
fun(L,n);
}

void main(){
int L[M]={0};
int i,n,flag;
printf("请输入待排序的自然数序列,输入-1以结束输入\n");
for(i=1,n=0;i<M;i++){
printf("L[%d]=",i);
scanf("%d",&L[i]);
if(L[i]==-1)break;
n++;
}
printf("请选择要使用的排序方式:\n使用插入排序请按1;使用冒泡排序请按2;使用选择排序请按3\n");
scanf("%d",&flag);
switch(flag){
case 1:custom_sort(L,n,InsertSort);break;
case 2:custom_sort(L,n,BubbleSort);break;
case 3:custom_sort(L,n,HeapSort);break;
}
printf("排序后序列为:\n");
for(i=1;i<=n;i++)printf("%d ",L[i]);
printf("\n");
}

‘拾’ C语言任务,快速采纳……

#include <stdio.h>

void main()
{
float a[5];
int i,flag;
printf( "输入五个实数---");
for (i=0; i<5; i++)
scanf("%f", &a[i]);

for ( i=0; i<4; i++)
{
if (a[i] > a[i+1])
{
flag = 1;
break;
}
}

(flag == 1 )? printf("NO"): printf("YES");
printf("\n");
return;
}

热点内容
电脑连接不了服务器什么意思 发布:2025-02-05 18:34:46 浏览:355
2015版dw怎么配置站点 发布:2025-02-05 18:33:37 浏览:429
php数组中重复值 发布:2025-02-05 18:16:59 浏览:365
分布式存储优点 发布:2025-02-05 18:15:29 浏览:644
征婚交友源码 发布:2025-02-05 17:45:24 浏览:918
3nvm服务器怎么搭建 发布:2025-02-05 17:43:52 浏览:661
cocosandroid开发 发布:2025-02-05 17:22:17 浏览:669
编程员发型 发布:2025-02-05 17:09:18 浏览:226
网站会员管理源码 发布:2025-02-05 17:03:32 浏览:195
服务器端口怎么调节 发布:2025-02-05 16:57:41 浏览:48