Professional Documents
Culture Documents
《程序设计基础》
实验报告
(2019-2020 学年 第 一 学期)
课程名称 程序设计基础
开课学院 信电工程学院
指导教师 陆杨
学生学号 20190505224
学生姓名 彭博
专业班级 19 计嵌 2
姓 名 彭博 班 级 19 计嵌 2 学 号 20190505224
实验名称 实验五 学 时 2
实验题目 1:编写函数 itob(n,s,b),用于把整数 n 转换成以 b 为基的字符串并存
储到 s 中. 编写程序,使用函数 itob(n,s,b)将输入的整数 n,转换成字符串 s,
将 s 输出.转换后的字符串从最高的非零位开始输出。如果 n 为负数,则输出的
字符串的第一个字符为’-’。b 为大于 1 小于 37 的任意自然数值。当 b=2 时,输
出 字 符 只 可 能 是 ’ 0’ 和 ’ 1’ ; 当 b=16 时 , 输 出 字 符 串 中 可 能 含 有 字 符
为’0’-’9’,’a’-’f’(字母以小写输出)。b 还可以是其它数值。比如输
入 n=33,b=17,则输出 33 的 17 进制值为"1g"。
源代码:#include <stdio.h>
#define flag0 0
#define flag1 1
int main()
int n,b;
char s[32];
scanf("%d %d",&n,&b);
atob(n,s,b);
printf("%s",s);
int i=0,j=0,t=0,flag2=flag1;
if( n<0 )
n=0-n;
flag2=flag0;
do{
s[i++]=n%b+'0';
if ( s[i-1]>'9' ) {
s[i-1]+='a'-'9'-1;
}
}while (( n/=b )>0);
if ( flag2==flag0 ) {
s[i++]='-';
s[i]='\0';
t=s[i];
s[i]=s[j];
s[j]=t;
return 0;
运行结果截图:
#include <string.h>
#define N 1024
int i,j,len;
i=0;
while(s[i]!='\0'){
if(s[i] == c){
for(j=i+1;s[j]!='\0';j++)
s[j-1]=s[j];
s[j-1]='\0';
i=0;
else
i++;
int main()
char str[N],ch;
printf("Input a string:");
gets(str);
printf("Input a char:");
ch=getchar();
delchar(str,ch);
return 0;
}
运行结果截图:
void main()
{
char s[100],t[100];
int m;
printf("Input a string:");
gets(t);
printf("Input an integer:");
scanf("%d",&m);
strmcpy(s,t,m);
if(t=='\0')
{
printf("Output is:'0'\n");
}else
{
printf("Output is:");
puts(s);
}
}
运行结果截图:
#include<math.h>
int main(){
int m=0,n=0,i,l=0;
do{
printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
for( i=m;i<=n;i++ )
if( s(i) )
printf("%4d",i);
if( ++l%6==0 )
printf("\n");
int s( int n )
int i=3;
for( i=3;i<=sqrt(n);i+=2 )
if( n%i==0 )
return 0;
return 1;
运行结果截图:
二、实验总结(包括问题和解决方法、心得体会、意见与建议等)
无法熟练掌握各种算法的使用。
应打好基础,多练题目,多编一些基础代码。
多练习,提高编程速度。
实验评语 成绩:
日期: 年 月 日 教师: