基于指针的程序设计(3)
2023-12-20 06:39:57
第1关:字符排序
任务要求
设计程序,实现读入一个字符串,将该字符串中的所有字符按ASCII码升序排序后输出。
输入要求
输入一个字符串str(1<=len(str)<=1e5)
。
输出要求
输出所有字符按ASCII码升序排序后的字符串。
//根据题目要求完成程序设计
#include<stdio.h>
#include<string.h>
int cmp(void* p1,void* p2)
{
return *(char*)p1-*(char*)p2;
}
int main()
{
char arr[100000]={0};
gets(arr);
int len =strlen(arr);
qsort(arr,len,sizeof(arr[0]),cmp);
puts(arr);
}
字母转换 I
任务要求
,实现将一个字符串中的小写字母转换成大写字母,其它字符不变。
//根据题目要求完成程序设计
#include<stdio.h>
/**********FOUND**********/
char fun(char* c)
{
if(*c<='z'&&*c>='a')
*c-=32;
/**********FOUND**********/
}
int main()
{
/**********FOUND**********/
char s[100000];
char* p;
gets(s);
p=s;
while(*p)
{
//printf("%c\n",fun(p));
fun(p);
/**********FOUND**********/
putchar(*p);
p++;
}
putchar('\n');
}
第3关:字母转换 II
任务要求
设计程序,利用函数lowerString将字符串中的大写字母变成小写字母,并利用返回指针的函数实现返回改变后的字符串。 函数原型:char * lowerString(char *str)
输入要求
输入一个字符串str(1<=len(str)<=1e5)
输出要求
输出转换后的字符串。
//根据题目要求完成程序设计
#include <stdio.h>
/*
函数名称:lowerString
函数功能:将字符串中的大写字母变成小写字母
函数参数:字符串
函数返回值:指针函数
*/
//设计函数swap
/*=====Begin=====*/
void fun(char* c)
{
if(*c<='Z'&&*c>='A')
*c+=32;
/**********FOUND**********/
}
/*======End======*/
/*
函数名称:solve
函数功能:程序入口,实现相应功能
函数返回值:void
*/
//设计函数solve
/*=====Begin=====*/
int solve()
{
/**********FOUND**********/
char s[100000],* p;
p = s;
gets(s);
while (*p)
{
fun(p);
/**********FOUND**********/
putchar(*p);
p++;
}
}
/*======End======*/
第4关:简易计算器
任务要求
设计程序,实现每次调用函数process时完成不同的功能。针对a和b两个正整数,可以调用函数process计算a的b次幂、a和b之差以及a和b之积。
输入要求
输入两个正整数a,b(1<=a<=10,1<=b<=8)
。
输出要求
第一行输出结果为a的b次幂。 第二行输出结果为a和b之差。 第三行输出结果为a和b之积。
//根据题目要求完成程序设计
#include<stdio.h>
#include<math.h>
void process(int a,int b,int n)
{
switch(n)
{
case 1:
{
int c = pow(a,b);
printf("%d\n",c);
break;
}
case 2:
printf("%d\n",a-b);
break;
case 3:
printf("%d\n",a*b);
}
}
int main()
{
int a,b;
scanf("%d%d",&a,&b);
for(int i = 1; i<4; i++)
{
process(a,b,i);
}
}
文章来源:https://blog.csdn.net/Fan_041114/article/details/134933657
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!