1.本章学习了数组,学习了如何定义数组,数组的输入与输出,一维数组和二维数组的运用等。
2.运用数组可以使一些数字或者字符在存放时可以有序号,以便于解决一些复杂问题。
3.但是运用数组要注意数组下标不能越界,定义数组时数组长度不能用变量表示以及字符型数用%s输出时要注意该字符型数组中需要含有‘\0’。
2.PTA总分
========
除法运算
给定两个整数a,b,计算a/b
要求:
若能除尽,则直接输出,若为循环小数,将循环节用括号括起来
如输入1 3,则输出0.(3)
如输入12 5,则输出2.4
定义两个变量供输入的变量a,b
输入a,b
定义一个数组c[100]用于存放小数部分100位
WholeNumber=a/b //求出a/b的整数部分
Remainder=a%b //求出a/b的余数
for i=1 to i=99
if i=1&&Remainder=0 then 跳出循环 then 输出 //说明a/b是整数
if i!=1&&Remainder=0 then 跳出循环 then 输出 //说明a/b是有限小数
c[i]=(Remainder*10)/b //将小数的每一位依次存放到c[i]中
end for
if i==100 //说明小数部分存取了100位
for y=0 to y=20 //检测小数从第几位开始循环,这里先定个20,不够可以再加
for j=1 to j=50 //这里检测循环的跨度,即几个数字一个循环,这里先定个50,不够再加
for o=y to o<100-j //从第y+1位开始判断,因为前面的y位已经不在循环节里面
if c[o]=c[o+j] count++
//表示第o+1位小数和第o+j+1位小数相等 并用count累计满足条件的次数,若count最后和循环次数相等,则说明j个数一个循环
最后输出无限循环小数
printf (WholeNumber) //先输出整数部分
printf(.)
for p=0 to p=y-1 //因为小数点后面的y位不再循环节内,先输出
printf(c[p])
end for
printf("(") //这里开始按格式要求输出循环节
for q=0 to q=j-1 //输出循环节中的j个数字
printf(c[y+q])
end for
printf(")")
然后就非常的perfect!!
原文:https://www.cnblogs.com/syt666/p/10017994.html